只要要显示更多内容,我想向下滚动页面。
例如,当您单击Instagram上的关注者时,将弹出一个对话框窗口,只要您有更多关注者要显示,它就会在您向下滚动时加载更多关注者。
我可以用困难的方式做到这一点,例如获取关注者人数,然后在我向下滚动时以及当它们相等时停止滚动到那里时,对关注者进行计数。
但是我想问你是否有更好的方法。
答案 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来找到更好的解决方案。但是,希望这会给您一个想法。