我制作了一个小代码,其目的是让我登录到一个网站,并在下拉菜单中选择一个选项等等。我无法弄清楚如何做到这一点。
我在 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)
对于选择标签,您需要使用以下方法来选择一个选项
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)
如果有任何问题,请告诉我
| 归档时间: |
|
| 查看次数: |
4472 次 |
| 最近记录: |