【问题标题】: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" 按钮,或者在页面上找不到按钮的情况下停止