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

问题描述 投票:0回答:1

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

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

Instagram followers dialog window

我可以通过艰难的方式做到这一点,比如跟随者计数,然后在向下滚动时计算跟随者,当他们等于停止在那里滚动时。

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

ruby webdriver watir
1个回答
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更好的解决方案。但是,希望这会给你一个想法。

© www.soinside.com 2019 - 2024. All rights reserved.