【发布时间】:2017-05-30 12:48:58
【问题描述】:
我制作了一个小代码,其目的是让我登录一个网站,并在下拉菜单中选择一个选项等。而且我无法弄清楚如何做到这一点。
我在 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
这是关于下拉菜单的页面的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>
使用此代码不会显示任何错误,只是没有选择任何内容。
我也尝试过 Select 函数:
find_element_by_css_selector("select#rating > option[value='2']").click()
但是这会抛出这个错误:
NameError: name 'find_element_by_css_selector' is not defined
【问题讨论】:
-
第二种方法有什么错误?
-
如果有帮助请查看此帖子stackoverflow.com/questions/22524621/…
-
@BernardParah 我已经看过了,但不幸的是,它不能解决我的问题。
-
@HenryM 错误是:“NameError: name 'find_element_by_css_selector' is not defined”
-
有趣的是我使用了你的确切代码并且它有效