Javascript 在这种情况下,我可以使用什么条件使selenium停止滚动?

Javascript 在这种情况下,我可以使用什么条件使selenium停止滚动?,javascript,ruby,selenium,web-scraping,nokogiri,Javascript,Ruby,Selenium,Web Scraping,Nokogiri,首先,英语不是我的母语,对不起,如果有什么东西是用一种奇怪的方式写的。现在,我正在努力让instagram成为一个统一的挑战。我正在尝试获取instagram个人资料的所有图片,但目前我只能获取一些 对于滚动,我硬编码了一些js滚动 driver.execute_脚本(“window.scrollTo(0,document.body.scrollHeight)”) 睡眠1 执行_脚本(“window.scrollTo(0,document.body.scrollHeight)”) 睡眠1 执行_

首先,英语不是我的母语,对不起,如果有什么东西是用一种奇怪的方式写的。现在,我正在努力让instagram成为一个统一的挑战。我正在尝试获取instagram个人资料的所有图片,但目前我只能获取一些

对于滚动,我硬编码了一些js滚动

driver.execute_脚本(“window.scrollTo(0,document.body.scrollHeight)”)
睡眠1
执行_脚本(“window.scrollTo(0,document.body.scrollHeight)”)
睡眠1
执行_脚本(“window.scrollTo(0,document.body.scrollHeight)”)
睡眠2
我尝试使用图像的长度与帖子的总长度,但如果我继续滚动,长度保持不变

driver.execute_脚本(“window.scrollTo(0,document.body.scrollHeight)”)
睡眠1
执行_脚本(“window.scrollTo(0,document.body.scrollHeight)”)
睡眠1
执行_脚本(“window.scrollTo(0,document.body.scrollHeight)”)
睡眠2
doc=Nokogiri::HTML(driver.page_源代码)
#查找每个pic的直接链接
arr=doc.search('img').map(&:values)
#清理数据
图像=清理图像数据(arr)
#印刷图像总数
p.长度#12
执行_脚本(“window.scrollTo(0,document.body.scrollHeight)”)
睡眠1
执行_脚本(“window.scrollTo(0,document.body.scrollHeight)”)
睡眠1
执行_脚本(“window.scrollTo(0,document.body.scrollHeight)”)
睡眠2
doc=Nokogiri::HTML(driver.page_源代码)
arr=doc.search('img').map(&:values)
图像=清理图像数据(arr)
#印刷图像总数
p.长度#12
如果有人想看一下,这就是代码


提前感谢您抽出时间来查看我的问题。

您已经分享了您的代码,但实际上还没有说它有什么问题。如果我们不知道你想要发生什么,恐怕我们不能告诉你停止滚动的条件。如果问题不清楚,我很抱歉。我正在尝试获取任何instagram个人资料的所有图片,因此我希望继续滚动,直到所有链接都可用。但是如果我一直使用这种方法滚动,链接数保持不变。如果图像数相同,是否意味着你已经找到了所有图像?我建议您在控制台中逐行运行代码,看看发生了什么。不,丢失了很多,但如果我继续滚动,数据不会改变。哦,我知道发生了什么。您使用的是
doc=Nokogiri::HTML(driver.page\u source)
,然后对图像进行解析。但是当你调用JS滚动时,“页面源代码”可能没有更新。尝试使用Selenium方法检查图像计数,而不是Nokogiri。