scrolldown=driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var scrolldown=document.body.scrollHeight;return scrolldown;")
match=False
while(match==False):
last_count = scrolldown
time.sleep(3)
scrolldown = driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var scrolldown=document.body.scrollHeight;return scrolldown;")
if last_count==scrolldown:
match=True
我想用Selenium从Instagram个人资料中抓取数据,但我不知道如何设置页面滚动的限制。由于上面的代码,页面一直滚动,直到我不知道它什么时候停止。我只想滚动该帐户的帖子,直到找到我要找的。
2条答案
按热度按时间5m1hhzi41#
正如您提到的,"滚动查看该帐户的帖子,直到找到我要查找的帖子" 假定特定元素应该在以下项中具有唯一属性:
也可以通过HTML DOM的属性组合在HTML DOM中唯一标识。一旦能够构造唯一标识元素的locator strategy,就可以轻松使用
scrollIntoView()
方法,如下所示:jmo0nnb32#
最好和最安全的滚动方式可能是使用
这个命令平滑地滚动,
element
垂直地位于页面的中心,所以在你的情况下,我建议滚动到最早加载的帖子(它应该位于屏幕的底部),这样新的帖子就会被加载,重复这个过程,直到你找到你要找的帖子。你可以用下面的代码来实现