我在使用 selenium Web 驱动程序从网站上抓取所有内容时遇到了一些麻烦。我遇到的问题是分页上的下一个按钮没有类,这里是分页部分的 html:
<div>
<ul class="pagination">
<li class="disabled>
<a href="#">
<span>« </span>
First
</a>
</li>
<li class="disabled">
<a href="#">
<span>‹ </span>
Previous
</a>
</li>
<li class="disabled">
<a href="#">
1
</a>
</li>
<li class="">
<a href="#" rel="next">
2
</a>
</li>
<li class="">
<a href="#">
3
</a>
</li>
#........ same again for pages 4 and 5
<li class="">
<a href="#" rel="next">
Next
<span> ›</span>
</a>
</li>
<li class="">
<a href="#">
Last
<span> »</span>
</a>
</li>
这是我用来单击具有“分页”类的元素的代码:
while True:
# get data from page here
# click next page
try:
element = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, 'pagination')))
element.click()
except TimeoutException:
# no pages left
break
我遇到的问题是它只识别分页中的第一个可点击按钮,这意味着它会在单击第 2 页(启用“第一个”按钮)、然后单击第一个按钮和切换之间交替返回第 1 页。有没有办法进一步缩小可点击元素的范围,使其仅点击下一个按钮?
最佳答案
尝试等待下一步
按钮:
element = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.pagination a[rel=next]'))
关于python - 如何单击分页中的下一个按钮,其中下一个按钮没有类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66628438/