【发布时间】:2018-12-08 02:17:34
【问题描述】:
我试图继续点击此website 的下一页,每次将表格数据附加到 csv 文件,然后当我到达最后一页时,附加表格数据并中断 while 循环
不幸的是,由于某种原因,它一直停留在最后一页,我尝试了几种不同的方法来捕捉错误
while True:
try :
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Next'))).click()
except :
print("No more pages left")
break
driver.quit()
我也试过这个:
try:
link = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR,'.pagination-next a')))
driver.execute_script('arguments[0].scrollIntoView();', link)
link.click()
except:
keep_going = False
我试过把打印语句放进去,但它一直停留在最后一页。
这是下一个按钮的第一页/最后一页的 HTML,我不确定是否可以利用它来做一些事情: 第一页的 HTML:
<li role="menuitem" ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next" style=""><a href="" ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle="">Next</a></li>
<a href="" ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle="">Next</a>
</li>
最后一页的 HTML:
<li role="menuitem" ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next disabled" style=""><a href="" ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle="" disabled="disabled" tabindex="-1">Next</a></li>
<a href="" ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle="" disabled="disabled" tabindex="-1">Next</a>
</li>
【问题讨论】:
标签: python selenium selenium-webdriver web-scraping selenium-chromedriver