【问题标题】:Tell Selenium web driver to keep clicking "next" button until it can't告诉 Selenium Web 驱动程序继续单击“下一步”按钮,直到它不能
【发布时间】:2018-04-28 13:54:24
【问题描述】:

这是我的代码:

for i in range(1,20):
    driver.find_element_by_link_text('Next').click()
    time.sleep(5)
    soup = BeautifulSoup(driver.page_source, 'html.parser')
    token_holders = token_holders + soup.find_all('tr')
    del token_holders[50*i]
    time.sleep(5)

我希望网络驱动程序继续单击“下一步”,直到它不能而不是我输入应该在 for 循环中单击的次数,但我不知道该怎么做

【问题讨论】:

    标签: python-3.x selenium selenium-webdriver pagination


    【解决方案1】:

    只需将for 循环替换为while 循环,如下所示:

    from selenium.common.exceptions import NoSuchElementException
    
    while True:
        try:
            driver.find_element_by_link_text('Next').click()
        except NoSuchElementException:
            break
        time.sleep(5)
        soup = BeautifulSoup(driver.page_source, 'html.parser')
        token_holders = token_holders + soup.find_all('tr')
        del token_holders[50*i]
        time.sleep(5)
    

    这应该允许您在可能的情况下单击"Next" 按钮,或者在页面上找不到按钮的情况下停止

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-04
      • 2020-01-12
      • 2014-05-30
      • 2018-01-22
      • 2018-11-04
      • 2018-11-04
      相关资源
      最近更新 更多