Python - 关于selenium dropbox的问题,没有用于Web爬行的选项和协议复选框
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - 关于selenium dropbox的问题,没有用于Web爬行的选项和协议复选框相关的知识,希望对你有一定的参考价值。
我想抓住this website。我需要:
- 选择技术选项之一
- 检查“我已阅读并同意以下免责声明”
- 单击“搜索”按钮
- 抓取以提取网址
经过多次尝试,到目前为止,我有几行代码。要做第1 - 3部分,我这样做:
browser.find_element_by_xpath("//select[@name='Techniques']/option[text()='Diversified Technique']").click()
checkbox = browser.find_element_by_id("dnn_ctr5517_Clients_Custom_ctl00_cbAgree")
if not checkbox.is_selected():
checkbox.click()
buttons = browser.find_elements_by_xpath("//*[contains(text(), 'Search')]")
if not checkbox.is_selected():
checkbox.click()
这不起作用。它没有给我任何错误,但也没有产生结果。
注意:对于技术,选项是li而不是下面的“Microamperage Neural Stimulation”选项:
<li class="rcbItem"><label><input type="checkbox" class="rcbCheckBox">Microamperage Neural Stimulation</label></li>
如何设置这三个选项并获得结果?
谢谢。
答案
这是我做的:
browser.find_element_by_id('dnn_ctr5517_Clients_Custom_ctl00_rcbSkills_Input').click()
browser.find_element_by_xpath('//label[contains(., "Diversified")]/input').click()
checkbox = browser.find_element_by_id('dnn_ctr5517_Clients_Custom_ctl00_cbAgree')
if not checkbox.is_selected():
checkbox.click()
searchBtn = browser.find_element_by_id('dnn_ctr5517_Clients_Custom_ctl00_btnSearch')
searchBtn.click()
如果需要选择多个,可以重复第二行。您可能必须在前两行之间插入等待,因为您可能会获得Element not visible
异常。之后,您应该能够等待结果返回。
以上是关于Python - 关于selenium dropbox的问题,没有用于Web爬行的选项和协议复选框的主要内容,如果未能解决你的问题,请参考以下文章
关于python-selenium-chromedriver提示
Selenium2+python自动化39-关于面试的题转载