【发布时间】:2020-12-11 04:20:06
【问题描述】:
我真的很难从我要抓取的网站上的下拉菜单中选择一个项目。 HTML 的代码如下所示:
<select id="averagesMP" name="MP" onchange="reQuery(this);" style="width: 150px">
<option value="" selected="selected"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
我已经尝试了所有我能想到的并在 StackOverflow 上找到的方法!我注意到这似乎可以选择实际的下拉框:
select_mp = Select(driver.find_element_by_xpath("//select[@name='MP']"))
但我只假设它有效,因为代码运行并且没有给出任何错误。但是,我仍然无法从下拉菜单中选择任何内容。我试过了:
- find_element_by_xpath/name/id/tag/value/text
- select_mp.select_by_value('2')
- select_mp.select_by_visible_text('2')
- select_mp.select_by_index(2)
- driver.find_element_by_xpath("//select[@name='MP']/option[@value='4']").click()
- driver.find_element_by_xpath("//option[@value='4']").click()
- driver.find_element_by_id('averagesMP').click()
有人有什么建议吗?我知道这个问题似乎在这里被问了很多,但我已经尝试了我在帖子中看到的所有内容,但它不起作用!它看起来不是一个很复杂的下拉菜单,只是非常难以捉摸。
一些有用的信息:
-
我正在使用 Safari 和 SafariDriver
-
我不断收到以下错误消息:
raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message:
【问题讨论】:
-
检查下拉菜单是否在 iframe 中?如果没有,那么您可能必须尝试 javascriptexecutor。
-
它在哪个网站上>?
-
该网站是 skedula.com。它是一个教师评分网站。
标签: python selenium xpath css-selectors html-select