Как выбрать опцию в раскрывающемся списке веб-страницы, используя Селен с Python - PullRequest
0 голосов
/ 20 мая 2019

Я хотел выбрать значение «LK» в раскрывающемся списке на моей веб-странице. пожалуйста, помогите.

я попытался выбрать xpath следующим образом

driver.find_element_by_xpath("//select[contains(text(), 'GLOBAL')]").click()
driver.find_element_by_xpath("//span[contains(text(), 'LK')]/..").click()

но я получаю следующую ошибку:

selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable

Ниже приведен код веб-элемента, который я пытаюсь получить:

<select style="border-radius: 3px;" ng-model="selectedRcc.value" ng-options="item for item in ['LK', 'US', 'GLOBAL']" class="ng-pristine ng-valid ng-touched" tabindex="0" aria-invalid="false">
    <option value="0" label="LK">LK</option>
    <option value="1" label="US">US</option>
    <option value="2" selected="selected" label="GLOBAL">GLOBAL</option>
</select>

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Если у вас есть элемент select, всегда полезно использовать класс выбора селена для выбора элемента из выпадающего меню.

select=Select(driver.find_element_by_xpath("//select[@class='ng-pristine ng-valid ng-touched']"))
select.select_by_visible_text('GLOBAL')
select.select_by_visible_text('LK')

ИЛИ вы можете использовать индекс.

select=Select(driver.find_element_by_xpath("//select[@class='ng-pristine ng-valid ng-touched']"))
select.select_by_index(0) #LK
select.select_by_index(2) #GLOBAL

Для использованияПриведенный выше код должен иметь следующий импорт.

from selenium.webdriver.support.select import Select
0 голосов
/ 20 мая 2019

Используйте ниже xpath

//select[@class='ng-pristine ng-valid ng-touched']/option[.='LK']

Код:

driver.find_element_by_xpath("//select[@class='ng-pristine ng-valid ng-touched']/option[.='LK']").click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...