【问题标题】:I need to acces to the next page with selenium or Beautiful Soup我需要使用 selenium 或 Beautiful Soup 访问下一页
【发布时间】:2019-07-23 05:25:02
【问题描述】:

我想我已经尝试了所有的 .click() .submit... 各种不同的东西,但它什么也没做

当我尝试访问下一页时出现以下内容,因为不是按钮或出现我不知道该怎么做的网站;所有页面中唯一变化的是值中的数字,这里出现了 3

<ul class="pagination">
     <li><span onclick="document.lisarq.pagina.value=3; document.lisarq.submit(); " onmouseover="this.style.cursor='pointer'" style="cursor: pointer;">3</span></li>
</ul>

我唯一想做的就是访问下一页在这种情况下将是 4 谢谢!

【问题讨论】:

  • 请将链接发布到您要抓取的网站。
  • 我很困惑。你说下一页是4,但是那个html有pagina.value=3

标签: python selenium xpath css-selectors webdriverwait


【解决方案1】:

由于该元素是JavaScript 启用元素,因此要访问click() 并访问第4 页,您必须为element_to_be_clickable() 诱导WebDriverWait,您可以使用以下解决方案:

  • 使用CSS_SELECTOR

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ul.pagination>li>span[onclick*='4']"))).click()
    
  • 使用XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//ul[@class='pagination']/li/span[contains(@onclick, '4') and text()='4']"))).click()
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

【讨论】:

    猜你喜欢
    • 2021-08-13
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 2022-10-15
    相关资源
    最近更新 更多