【问题标题】:Python Selenium - How to loop to the last <li> element in a sitePython Selenium - 如何循环到站点中的最后一个 <li> 元素
【发布时间】:2018-04-21 00:36:42
【问题描述】:

我创建了一个 python selenium 脚本,它应该可以浏览网站并收集人员资料 (https://www.shearman.com/people)。该程序不会遍历页面来收集链接。我用过这个不起作用;

 try:
     # this is navigate to next page
     driver.find_element_by_xpath('//div[@id="searchResultsSection"]/ul/li[12]').click()
     time.sleep(1)
 except NoSuchElementException:
     break

next按钮后面的语法如下所示;

<a href="" onclick="PageRequest('2', event)" class="xh-highlight">&gt;</a>

有没有人不知道如何编写点击下一步按钮的代码?

【问题讨论】:

  • 为什么?这充其量在道德上是有问题的。

标签: python selenium selenium-webdriver xpath webdriver


【解决方案1】:

如果您查看带有图像的元素的 HTML&gt;,它是 @ 的最后一个 &lt;li&gt; 标记内的 &lt;a&gt; 标记987654324@ 标签。因此,要在其上调用click(),您可以使用以下代码块:

driver.find_element_by_xpath("//ul[@class='results-pagination']/li[last()]/a").click()

【讨论】:

  • 非常感谢您的帮助
【解决方案2】:

您可以尝试使用下面一行点击下一步按钮

driver.find_element_by_link_text(">").click()

【讨论】:

    【解决方案3】:

    你可以自己做:

    • ctrl+shift+i
    • 右键单击下一步按钮 -> 检查
    • 右键点击下一步按钮代码->复制->复制选择器

    然后将按钮存储在 WebElement nextButton 中

    nextButton.click();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-31
      • 1970-01-01
      • 2017-04-14
      相关资源
      最近更新 更多