【问题标题】:Python Selenium keep clicking next buttonPython Selenium 继续单击下一步按钮
【发布时间】:2018-02-17 05:25:01
【问题描述】:

我正在尝试使用 Python Selenium 从 https://www.walmart.com/ip/Clorox-Disinfecting-Wipes-On-The-Go-Citrus-Blend-Scent-34-Wipes/29701960?page=seeAllReviews

网页底部有按钮。 HTML 如下所示:

<ul class="paginator-list">
<li><button aria-label="Page 1 of 6 selected" class="active">1</button></li>
<li><button aria-label="Page 2 of 6 " class="">2</button></li>
<li><button aria-label="Page 3 of 6 " class="">3</button></li>
<li><button aria-label="Page 4 of 6 " class="">4</button></li>
<li><button aria-label="Page 5 of 6 " class="">5</button></li>
<li class="paginator-list-gap"></li>
<li><button aria-label="Page 3141 of 6 " class="">3141</button></li>
</ul>

如何使用 Selenium 单击第二个按钮(第 2 页,共 6 页)?当页面更改时,如何继续单击下一步按钮。有什么建议吗?

【问题讨论】:

  • 您到底想点击哪个按钮? second buttonnext button
  • 在第一页,我想点击第二个按钮(第 2 页,共 6 页);在第二页,我想点击第三个按钮(第 3 页,共 6 页)等等。

标签: python selenium


【解决方案1】:

您可以使用此 xpath 每次单击 nxt 按钮链接 ://button[@class="active"]/ancestor::li/following-sibling::li[1]

【讨论】:

    【解决方案2】:

    根据您分享的 HTML 和您的评论点击 第二个按钮(第 2 页,共 6 页),您必须滚动分页 webelement em> 在Viewport 中,然后调用click(),如下所示:

    from selenium import webdriver
    
    driver=webdriver.Firefox(executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
    driver.get("https://www.walmart.com/ip/Clorox-Disinfecting-Wipes-On-The-Go-Citrus-Blend-Scent-34-Wipes/29701960?page=seeAllReviews")
    pagination_element = driver.find_element_by_xpath("//div[@class='ReviewsFooter-pagination arrange arrange-spaced']")
    driver.execute_script("return arguments[0].scrollIntoView(true);", pagination_element)
    driver.find_element_by_xpath("//div[@class='ReviewsFooter-pagination arrange arrange-spaced']//ul[@class='paginator-list']/li/button[@aria-label='Page 2 of 6 ']").click()
    print("Clicked on Page 2")
    driver.quit()
    

    控制台输出:

    Clicked on Page 2
    

    【讨论】:

      猜你喜欢
      • 2018-11-04
      • 2019-09-16
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多