zoukankan      html  css  js  c++  java
  • Page Scroll using Selenium WebDriver

    Using JavaScript


    Scroll Down:

    import org.openqa.selenium.JavascriptExecutor;
    WebDriver driver = new FirefoxDriver();
    JavascriptExecutor jse = (JavascriptExecutor)driver;
    jse.executeScript("scroll(0, 250)"); //y value '250' can be altered

    Scroll up:

    JavascriptExecutor jse = (JavascriptExecutor)driver;
    jse.executeScript("scroll(250, 0)"); //x value '250' can be altered

    Scroll bottom of the Page:

    JavascriptExecutor jse = (JavascriptExecutor)driver;
    jse.executeScript("window.scrollTo(0,Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight));");
    (or)
    Actions actions = new Actions(driver);
    actions.keyDown(Keys.CONTROL).sendKeys(Keys.END).perform();

    Full scroll to bottom in slow motion:

    for (int second = 0;; second++) {
            if(second >=60){
                break;
            }
                ((JavascriptExecutor) driver).executeScript("window.scrollBy(0,400)", ""); //y value '400' can be altered
                Thread.sleep(3000);
    }
    (or)
    JavascriptExecutor jse = (JavascriptExecutor)driver;
    for (int second = 0;; second++) {
            if(second >=60){
                break;
            }
                jse.executeScript("window.scrollBy(0,800)", ""); //y value '800' can be altered
                Thread.sleep(3000);
    }

    Scroll automatically to your WebElement:

    Point hoverItem =driver.findElement(By.xpath("Value")).getLocation();
    ((JavascriptExecutor)driver).executeScript("return window.title;");    
    Thread.sleep(6000);
    ((JavascriptExecutor)driver).executeScript("window.scrollBy(0,"+(hoverItem.getY())+");"); 
    // Adjust your page view by making changes right over here (hoverItem.getY()-400)
    (or)
    ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", driver.findElement(By.xpath("Value')]")));
    (or)
    WebElement element = driver.findElement(By.xpath("Value"));
    Coordinates coordinate = ((Locatable)element).getCoordinates(); 
    coordinate.onPage(); 
    coordinate.inViewPort();


    Using KeyBoard



    We have two options for scrolling in web page.
     
    Using Actions Class

    package name  : org.openqa.selenium.interactions.Actions
     
    java code :
                          Ctrl+End | Scroll to Bottom of the page
                         Actions actions = new Actions(driver);
                         actions.keyDown(Keys.CONTROL).sendKeys(Keys.END).perform();
     
    Without Using Actions Class
     
    java code :

                         for(int i=0;i<10;i++)
                        {
                                 driver.findElement(By.tagName("body")).sendKeys(Keys.DOWN);
                        }
     
  • 相关阅读:
    集大软件工程15级结对编程week1
    集大软件工程15级个人作业Week2
    集大软件工程15级个人作业Week1
    Java 课程设计 "Give it up"小游戏(团队)
    Java 课程设计 "Give it up"小游戏设计(个人) 201521123077
    201521123077 《Java程序设计》第14周学习总结
    201521123077 《Java程序设计》第13周学习总结
    2019-助教总结
    软工的总分
    第四次团队作业
  • 原文地址:https://www.cnblogs.com/sozui/p/4805972.html
Copyright © 2011-2022 走看看