JavascriptExecutor不执行滚动操作

前端之家收集整理的这篇文章主要介绍了JavascriptExecutor不执行滚动操作 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在自动执行youtube视频的测试;以这个为例-https://www.youtube.com/watch?v=AjWfY7SnMBI.
我想向下滚动页面以检查是否加载了评论.但是不执行Javascript,也不进行滚动.测试通过,因为没有错误消息.这可能是什么原因?

我尝试了以下方法

js.executeScript("window.scrollTo(0,document.body.scrollHeight)");
js.executeScript("window.scrollTo(0,2500);");

都不行.

public void scrolledCommentCount() throws InterruptedException{
    JavascriptExecutor js = (JavascriptExecutor)driver;
    js.executeScript("window.scrollTo(0,document.body.scrollHeight)");
    Thread.sleep(9000);
    System.out.print("Scrolled");
最佳答案
您可以使用sendKeys方法进行分页.尝试此代码.希望有帮助.

JavascriptExecutor js = (JavascriptExecutor)driver;

        while(true){

            Long height=(Long) js.executeScript("return document.body.scrollHeight");
            System.out.println(height);
            Thread.sleep(1000);
            driver.findElement(By.tagName("body")).sendKeys(Keys.END);        

            if (height==0)
            {
                break;
            }               

        } 

猜你在找的JavaScript相关文章