【问题标题】:In Selenium how can I check if I have scrolled the page till the end在 Selenium 中,如何检查我是否已将页面滚动到最后
【发布时间】:2017-05-17 10:30:12
【问题描述】:

有一种自动化场景,其中元素列表在运行时以块的形式动态加载,每次滚动页面时,它都会获取一些数据并显示。现在我需要检查滚动后是否到达页面底部。有没有办法做到这一点?

【问题讨论】:

  • 您可以考虑向我们展示您的作品吗?

标签: javascript java selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

你可以使用这个助手来检查:

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();
}

【讨论】:

    【解决方案2】:

    以下代码对我有用:

    JavascriptExecutor js = ((JavascriptExecutor) driver);
    
    js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
    

    希望这会对你有所帮助。

    【讨论】:

    • 这将滚动到页面底部但不检查您的页面是否滚动到底部
    • 感谢 RNS 的评论
    猜你喜欢
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 2014-08-27
    • 2014-09-05
    • 2020-11-28
    相关资源
    最近更新 更多