2017-06-23 18 views
0

现在用硒+蟒蛇报废具有无限滚动(基本上翻至最高前500个结果如图)如何检查是否进一步`滚动down`使用Selenium

使用下面的代码页是不可能的,我能够滚动到页面的底部。现在我想停止进一步滚动不提取任何内容。 (比如,页面只有200个结果,我不想继续滚动假设最大500结果)

driver = webdriver.Firefox() 
driver.get(url) 
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 

我试图访问window.pageYOffset但它总是来为无。

+0

简单地滚动,直至最后一个元素等于一个从以前的迭代。你也可以比较'scrollHeight'和以前的迭代。 –

回答

-1

您可以通过在每次滚动的尝试之后检查的document.body.scrollTop如果没有要提取的数据,那么这个值将保持不变

distanceToTop = driver.execute_script("return document.body.scrollTop);") 
+0

这将如何工作? –

相关问题