【发布时间】:2015-08-22 05:20:21
【问题描述】:
所以我正在使用 Selenium 和 Python 进行一些网络抓取,但我遇到了问题。我正在单击“下一步”按钮以移至某个网站的下一页,但是当我到达最后一页时,我需要停止单击它。现在,我这样做的想法只是在 try/except 语句中使用 some_element.click() 并等到它给我一个错误而按钮不再可点击。但是,似乎 .click() 不会发出任何类型的信号,当无法单击按钮并且不会发出任何真或假信号时,它不会引发错误。
我尝试使用的代码 sn-p:
while True:
try:
button = driver.find_element_by_class_name('Next_button')
button.click()
except:
break
还有其他方法吗?谢谢和欢呼。
【问题讨论】:
-
到达最后一页时是否显示元素?
-
可能是该链接仍然可以点击,但它没有移动到下一页,而是什么都不做。你能分享你运行代码的网站的链接吗?
-
@Saifur 是对的。检查最后一页时该按钮的 html 属性发生了哪些变化。
-
Saifur,下一页按钮仍然显示,但在最后一页上显示为灰色。 @Vikas Neha Ojha,类名在最后一页发生了变化,它的xpath也是如此。如何在 Python 中检测到这种变化?还是我错误地理解了你的建议。 alecxe,是的,这可能是真的。循环永远持续下去。
-
循环永远持续下去 - 请说明它是否正在浏览下一个网页。您提到类名发生了变化,我可以看到您正在尝试仅按类名查找元素,因此您的代码仍然可以工作。能否请您仅在初始页面和最后一页上发布按钮的html?
标签: python selenium web-scraping