Jak posouvat stránku dolů nebo nahoru Selenium Webdriver

Přejděte dovnitř Selenium

Chcete-li rolovat pomocí Selenium, Můžete použít JavaRozhraní ScriptExecutor, které pomáhá spouštět JavaSkriptovací metody prostřednictvím Selenium Webdriver

Syntaxe:

JavascriptExecutor js = (JavascriptExecutor) driver;  
   js.executeScript(Script,Arguments);
  • Skript – Toto je JavaSkript, který je třeba spustit.
  • Argumenty – Jsou to argumenty skriptu. Je to volitelné.

Selenium Skript pro posunutí stránky dolů

Pojďme se podívat na posouvání webové stránky dolů pomocí selenového webového ovladače s následujícími 4 scénáři:

  • Scénář 1: Procházení webové stránky po pixelech dolů.
  • Scénář 2: Posouvání webové stránky dolů podle viditelnosti prvku.
  • Scénář 3: Chcete-li posouvat webovou stránku dolů ve spodní části stránky.
  • Scénář 4: Horizontální posouvání na webové stránce.

Scénář 1: Procházení webové stránky po pixelech dolů.

Selenium Scénář

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByPixel {

    WebDriver driver;
    @Test
    public void ByPixel() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("http://demo.guru99.com/test/guru99home/");

        //To maximize the window. This code may not work with Selenium 3 jars. If script fails you can remove the line below		
        driver.manage().window().maximize();

        // This  will scroll down the page by  1000 pixel vertical		
        js.executeScript("window.scrollBy(0,1000)");
    }
}

Scénář Description: Ve výše uvedeném kódu nejprve spustíme danou URL v prohlížeči Chrome. Dále posuňte stránku o 1000 pixelů pomocí skriptu executeScript. Javascript metoda ScrollBy() posouvá webovou stránku na konkrétní počet pixelů.

Syntaxe metod ScrollBy() je:

executeScript("window.scrollBy(x-pixels,y-pixels)");

x-pixels je číslo na ose x, posune se doleva, pokud je číslo kladné, a posune se doprava, pokud je číslo záporné .y-pixely je číslo na ose y, posune se dolů, pokud je číslo kladné a pokud je číslo záporné, posune se nahoru.

Příklad:

js.executeScript("window.scrollBy(0,1000)"); //Scroll vertically down by 1000 pixels

Výstupní analýza: Zde je výstup, když spustíte výše uvedený skript.

Přejděte dolů po webové stránce podle pixelu

Scénář 2: Posouvání webové stránky dolů podle viditelnosti prvku.

Selenium Scénář

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByVisibleElement {

    WebDriver driver;
    @Test
    public void ByVisibleElement() {
        System.setProperty("webdriver.chrome.driver", "G://chromedriver.exe");
        driver = new ChromeDriver();
        JavascriptExecutor js = (JavascriptExecutor) driver;

        //Launch the application		
        driver.get("http://demo.guru99.com/test/guru99home/");

        //Find element by link text and store in variable "Element"        		
        WebElement Element = driver.findElement(By.linkText("Linux"));

        //This will scroll the page till the element is found		
        js.executeScript("arguments[0].scrollIntoView();", Element);
    }
}

Scénář Description: Ve výše uvedeném kódu nejprve spustíme danou url v prohlížeči Chrome. Dále posouvejte stránku, dokud nebude zmíněný prvek viditelný na aktuální stránce. Javascript metoda scrollIntoView() posouvá stránku, dokud není zmíněný prvek v plném zobrazení:

js.executeScript("arguments[0].scrollIntoView();",Element );

„arguments[0]“ znamená první index stránky začínající na 0.

Kde „Prvek“ je lokátor na webové stránce.

Výstupní analýza: Zde je výstup, když spustíte výše uvedený skript.

Posouvání dolů na webové stránce podle viditelnosti prvku

Scénář 3: Chcete-li posouvat webovou stránku dolů ve spodní části stránky.

Selenium Scénář

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByPage {

    WebDriver driver;
    @Test
    public void ByPage() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("http://demo.guru99.com/test/guru99home/");

        //This will scroll the web page till end.		
        js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
    }
}

Scénář Descriptiont: Ve výše uvedeném kódu nejprve spustíme danou url v prohlížeči Chrome. Dále přejděte na konec stránky. Javascript metoda scrollTo() posuňte se až na konec stránky.

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

„document.body.scrollHeight“ vrací úplnou výšku těla, tj. webové stránky.

Výstupní analýza: Zde je výstup, když spustíte výše uvedený skript.

Přejděte dolů na webovou stránku ve spodní části stránky

Scénář 4: Horizontální posouvání na webové stránce

Selenium Scénář

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class HorizontalScroll {

    WebDriver driver;
    @Test
    public void ScrollHorizontally() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("http://demo.guru99.com/test/guru99home/scrolling.html");

        WebElement Element = driver.findElement(By.linkText("VBScript"));

        //This will scroll the page Horizontally till the element is found		
        js.executeScript("arguments[0].scrollIntoView();", Element);
    }
}

Scénář Descriptiont: Ve výše uvedeném kódu nejprve spustíme danou url v prohlížeči Chrome. Dále posouvejte stránku vodorovně, dokud nebude zmíněný prvek viditelný na aktuální stránce. Javascript metoda scrollIntoView() posouvá stránku, dokud není zmíněný prvek v plném zobrazení:

js.executeScript("arguments[0].scrollIntoView();",Element );

Výstupní analýza: Zde je výstup, když spustíte výše uvedený skript.

Horizontální Posouvání Na Webové Stránce

Další informace o JavaScriptExecutor

Co je posuvník?

Posuvník umožňuje pohybovat se po obrazovce v horizontálním nebo vertikálním směru, pokud se rolování aktuální stránky nevejde do viditelné oblasti obrazovky. Slouží k pohybu okna nahoru a dolů.

Selenium Webdriver nevyžaduje rolování k provádění akcí při manipulaci s DOM. Na některých webových stránkách se však prvky stanou viditelnými, až když na ně uživatel přejde. V takových případech může být nutné rolování.

Posuvník je dvojího typu: Horizontální si vertikální posuvník, jak je znázorněno na snímku obrazovky níže.

posuvník

posuvník

Shrnutí

  • Ve výše uvedeném tutoriálu ilustrujeme posouvání webové stránky prostřednictvím různých scénářů.
  • V prvním scénáři jsme ukázali posouvání dolů po stránce po pixelu.
  • Ve druhém scénáři jsme ukázali posouvání stránky dolů, dokud není viditelný prvek.
  • Ve třetím scénáři jsme ukázali posun stránky dolů ve spodní části stránky.
  • Ve čtvrtém scénáři je znázorněno vodorovné posouvání na webové stránce.