【发布时间】:2017-05-17 10:30:12
【问题描述】:
有一种自动化场景,其中元素列表在运行时以块的形式动态加载,每次滚动页面时,它都会获取一些数据并显示。现在我需要检查滚动后是否到达页面底部。有没有办法做到这一点?
【问题讨论】:
-
您可以考虑向我们展示您的作品吗?
标签: javascript java selenium selenium-webdriver selenium-chromedriver
有一种自动化场景,其中元素列表在运行时以块的形式动态加载,每次滚动页面时,它都会获取一些数据并显示。现在我需要检查滚动后是否到达页面底部。有没有办法做到这一点?
【问题讨论】:
标签: javascript java selenium selenium-webdriver selenium-chromedriver
你可以使用这个助手来检查:
var _getDocHeight = function() {
var D = document;
return Math.max(
D.body.scrollHeight, D.documentElement.scrollHeight,
D.body.offsetHeight, D.documentElement.offsetHeight,
D.body.clientHeight, D.documentElement.clientHeight
);
};
var isScrolledToBottom = function() {
return (window.innerHeight + window.top.scrollY) == _getDocHeight();
}
【讨论】:
以下代码对我有用:
JavascriptExecutor js = ((JavascriptExecutor) driver);
js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
希望这会对你有所帮助。
【讨论】: