Python - 关于selenium dropbox的问题,没有用于Web爬行的选项和协议复选框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - 关于selenium dropbox的问题,没有用于Web爬行的选项和协议复选框相关的知识,希望对你有一定的参考价值。

我想抓住this website。我需要:

  1. 选择技术选项之一
  2. 检查“我已阅读并同意以下免责声明”
  3. 单击“搜索”按钮
  4. 抓取以提取网址

经过多次尝试,到目前为止,我有几行代码。要做第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提示

关于Python+selenium 定位浏览器弹窗元素

Selenium2+python自动化39-关于面试的题

Selenium2+python自动化39-关于面试的题转载

Python - 关于selenium dropbox的问题,没有用于Web爬行的选项和协议复选框

selenium+python关于页面滚动条滑动到底的问题总结