我遇到了一个问题,在使用Selenium刮取多个页面之前,只需使用click next page按钮并使用NoSuchElementException
停止它。你知道吗
但我现在面对的url是元素总是存在的,在最后一页,如果我点击next page按钮,它只会重新加载当前页面。你知道吗
任何人都可以帮助解决如何停止点击同一个按钮?你知道吗
items=driver.find_elements_by_class_name('item')
while True:
try:
#click next page
driver.find_element_by_link_text('下一页').click()
sleep(5)
#scrpae data here
items=driver.find_elements_by_class_name('item')
for i in range(0, len(items)):
results.append(items[i])
print(items[i])
except NoSuchElementException:
break
有关页面的详细信息,请查看下面的图片
[已编辑]
您可以通过在下一页链接中匹配当前页url和下一页url来解决此问题。 如果当前页面url与下一页链接中的url匹配,则它是最后一页。否则继续报废。你知道吗
您应该在存储当前页面URL的地方有一个变量,当您单击selenium的下一个页面链接时,您将获得页面URL并与上一个匹配。你知道吗
我是这么说的:
正如我在图片中看到的(我假设您共享的图片是最后一页的),检查
className == 'disable'
中的<a class='disable'> <some text in chinese></a>
和break;
更新:
相关问题 更多 >
编程相关推荐