Выбор значения из раскрывающегося списка с использованием selenium python
Я хочу выбрать значение из раскрывающегося списка. Html выглядит следующим образом:
<span id="searchTypeFormElementsStd">
<label for="numReturnSelect"></label>
<select id="numReturnSelect" name="numReturnSelect">
<option value="200"></option>
<option value="250"></option>
<option value="500"></option>
<option selected="" value="200"></option>
<option value="800"></option>
<option value="15000"></option>
<option value="85000"></option>
</select>
</span
Я попытался сделать следующее:
find_element_by_xpath("//select[@name='numReturnSelect']/option[text()='15000']").click()
Что в этом плохого? Пожалуйста, помогите мне!
Ответы
Ответ 1
Адриан Ратнапала прав, и я бы выбрал id
over name
, поэтому вы можете попробовать следующее:
find_element_by_xpath("//select[@id='numReturnSelect']/option[@value='15000']").click()
ИЛИ
find_element_by_css_selector("select#numReturnSelect > option[value='15000']").click()
ИЛИ
вы можете использовать select_by_value(value)
:
Select(driver.find_element_by_css_selector("select#numReturnSelect")).select_by_value(15000).click()
Нажмите здесь для получения дополнительной информации о Select
.
Ответ 2
from selenium.webdriver.support.ui import Select
driver = webdriver.Ie(".\\IEDriverServer.exe")
driver.get("https://test.com")
select = Select(driver.find_element_by_xpath("""//input[@name='n_name']"""))
select.select_by_index(2)
select.select_by_visible_text('Visible Text')
select.select_by_value('value')
Он отлично работает