• 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);
                        }
     
  • 相关阅读:
    Silverlight Quick Starts 翻译(一):目录
    CodeSmith实战(一):生成实体层
    Silverlight Quick Starts翻译(三) 已经有人翻译了
    ten sentences(110)
    SilverLight1.1 之旅(二):添加事件
    [Map 3D开发实战系列] Map Resource Explorer 之七 查看资源内容及资源引用
    欧特克AU中国“大师汇”在线会场 AU China Virtual上线
    Autodesk Topobase 2011 Update 1 – released!
    2010 Autodesk 开发者日即将召开,请速注册!
    云计算时代,你还在观望吗?亚马逊AWS和MapGuide
  • 原文地址:https://www.cnblogs.com/sozui/p/4805972.html
Copyright © 2020-2023  润新知