使用selenium python从下拉选项中选择一个值

时间:2014-03-20 05:59:55

标签: python selenium

我想从下拉选项中选择一个值。 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()

它出了什么问题?请帮帮我!

2 个答案:

答案 0 :(得分:42)

Adrian Ratnapala是对的,我也选择id而不是name,所以你可以尝试以下方法:

find_element_by_xpath("//select[@id='numReturnSelect']/option[@value='15000']").click()

OR

find_element_by_css_selector("select#numReturnSelect > option[value='15000']").click()

OR

您可以使用select_by_value(value)

Select(driver.find_element_by_css_selector("select#numReturnSelect")).select_by_value(15000).click()

点击此处了解Select的更多信息。

答案 1 :(得分:5)

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')

它会正常工作