【发布时间】:2015-05-04 11:30:44
【问题描述】:
我想写一段代码,让Python在一个页面上抓取一些数据,然后点击页面底部的“下一步”按钮,在第二页抓取一些数据,点击“下一步”按钮等,直到最后一页,无法再点击“下一步”(因为没有“下一步”)。
我想让代码尽可能通用,而不是事先指定要完成的点击次数。 在这个问题(How can I make Selenium click through a variable number of "next" buttons?)之后,我有下面的代码。 Python 不报告任何错误,但程序在第一次迭代后停止(第一次单击“下一步”后)。
我在这里缺少什么?非常感谢!
driver = webdriver.Firefox()
driver.get("http://www.mywebsite_example.com")
try:
wait = WebDriverWait(driver, 100)
wait.until(EC.element_to_be_clickable((By.CLASS_NAME,'reviews_pagination_link_nav')))
driver.find_element_by_class_name("reviews_pagination_link_nav").click()
wait.until(EC.element_to_be_clickable((By.CLASS_NAME, 'reviews_pagination_link_nav')))
while EC.element_to_be_clickable((By.CLASS_NAME,'reviews_pagination_link_nav')):
driver.find_element_by_class_name("reviews_pagination_link_nav").click()
if not driver.find_element_by_class_name("reviews_pagination_link_nav"):
break
wait.until(EC.element_to_be_clickable((By.CLASS_NAME, 'reviews_pagination_link_nav')))
finally:
driver.quit()
【问题讨论】:
标签: python selenium selenium-webdriver while-loop pagination