告诉Selenium网络驱动程序继续点击“下一步”按钮,直到它不能

时间:2018-04-28 05:28:31

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

这是我的代码:

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)

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

1 个答案:

答案 0 :(得分: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"按钮,或者在页面上没有找到按钮的情况下停止