只要有更多内容要显示,Watir就会向下滚动页面

时间:2018-09-07 09:35:51

标签: ruby webdriver watir

只要要显示更多内容,我想向下滚动页面。

例如,当您单击Instagram上的关注者时,将弹出一个对话框窗口,只要您有更多关注者要显示,它就会在您向下滚动时加载更多关注者。

Instagram followers dialog window

我可以用困难的方式做到这一点,例如获取关注者人数,然后在我向下滚动时以及当它们相等时停止滚动到那里时,对关注者进行计数。

但是我想问你是否有更好的方法。

1 个答案:

答案 0 :(得分:2)

您可以通过比较它的scrollTop和scrollHeight来检查可滚动元素是否在底部。

以下工作:

scrollable = browser.div(class: 'j6cq2') # div with overflow-y=scroll
until browser.execute_script('return arguments[0].scrollTop + arguments[0].clientHeight >= arguments[0].scrollHeight', scrollable) do
    browser.execute_script('arguments[0].scrollTop = arguments[0].scrollHeight', scrollable)
    sleep(1)
end

请注意,我没有时间比使用#sleep来找到更好的解决方案。但是,希望这会给您一个想法。