Selenium Python下拉查找和选择不起作用

Bac*_*kup 3 python selenium

我制作了一个小代码,其目的是让我登录到一个网站,并在下拉菜单中选择一个选项等等。我无法弄清楚如何做到这一点。

我在 python 中使用 selenium,除了这段关于下拉菜单的代码外,一切都很好:

# dropdown  
element = browser.find_element_by_id("rating")
for option in element.find_elements_by_tag_name("option"):
    if option.text == "It's OK":
        option.click()
        break
Run Code Online (Sandbox Code Playgroud)

这是有关下拉菜单的页面 html 代码:

<select name="rating" id="rating" size="1" style="margin-bottom:6px;">
    <option value=""></option>
    <option value="5">I Love it!</option>
    <option value="4">I Like it</option>
    <option value="3">It's OK</option>
    <option value="2">I Don't like it</option>
    <option value="1">I Hate it!</option>
</select>
Run Code Online (Sandbox Code Playgroud)

使用此代码不会显示任何错误,只是它没有选择任何内容。

我还尝试了 Select 功能:

find_element_by_css_selector("select#rating > option[value='2']").click()
Run Code Online (Sandbox Code Playgroud)

但这会引发此错误:

NameError: name 'find_element_by_css_selector' is not defined
Run Code Online (Sandbox Code Playgroud)

Tri*_*ion 6

对于选择标签,您需要使用以下方法来选择一个选项

from selenium.webdriver.support.ui import Select
select = Select(driver.find_element_by_id('rating'))
select.select_by_index("3")
// or
select.select_by_visible_text("It's OK")
// or
select.select_by_value("3")
Run Code Online (Sandbox Code Playgroud)

如果有任何问题,请告诉我