【发布时间】:2016-06-27 22:28:58
【问题描述】:
我想在页面上抓取一些数据并将每个页面中的表格提取到数据框,然后单击“下一步”按钮并在第二页上抓取一些数据,直到它不再可用。我怎样才能使用这个 html 结构:
<div class="dataTables_paginate paging_bootstrap pagination">
<ul>
<li class="active"><a href="javascript:void(0);">First</a></li>
<li class="active"><a href="javascript:void(0);">Prev</a></li>
<li p="1" class="active" onclick="loadDataByPage(1);">
<a href="javascript:void(0);" style="color:#0D88CB">1</a>
</li>
<li p="2" class="inactive" onclick="loadDataByPage(2);">
<a href="javascript:void(0);">2</a>
</li>
<li p="3" class="inactive" onclick="loadDataByPage(3);">
<a href="javascript:void(0);">3</a>
</li>
<li p="2" class="inactive" onclick="loadDataByPage(2);">
<a href="javascript:void(0);" style="color:#0D88CB">Next</a>
</li>
<li onclick="loadDataByPage(490);" class="inactive">
<a href="javascript:void(0);" style="color:#0D88CB">Last</a>
</li>
</ul>
</div>
【问题讨论】:
-
能否提供页面链接?要单击下一个链接,您可以使用
driver.find_element(By.XPATH, '//a[contains(text(), "Next")]').click()并一直这样做直到它不再可用,只需使用您放入try: driver.find_element(By.XPATH, '//a[contains(text(), "Next")]').click()的while 循环,如果它在那里,它将成功,但如果没有,那么它不会。
标签: python selenium selenium-webdriver pagination