Hogyan lehet görgetni lefelé vagy felfelé az oldalt Selenium Webdriver

Görgessen be Selenium

A görgetéshez Selenium, Akkor JavaA végrehajtást segítő ScriptExecutor felület JavaScript metódusokon keresztül Selenium Webdriver

Syntax:

JavascriptExecutor js = (JavascriptExecutor) driver;  
   js.executeScript(Script,Arguments);
  • Szkript – Ez a JavaSzkript, amelyet végre kell hajtani.
  • Érvek – A forgatókönyv érvei. Ez nem kötelező.

Selenium Script az oldalon lefelé görgetéshez

Nézzük meg, hogyan görgessünk lefelé egy weboldalt a szelén webdriver használatával a következő 4 forgatókönyv szerint:

  • 1. forgatókönyv: A weboldal lefelé görgetése pixelenként.
  • 2. forgatókönyv: A weboldal lefelé görgetése az elem láthatósága szerint.
  • 3. forgatókönyv: A weboldal lefelé görgetése az oldal alján.
  • 4. forgatókönyv: Vízszintes görgetés a weboldalon.

1. forgatókönyv: A weboldal lefelé görgetése pixelenként.

Selenium Forgatókönyv

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

Forgatókönyv Description: A fenti kódban először elindítjuk a megadott URL-t a Chrome böngészőben. Ezután görgessen az oldalt 1000 képponttal az executeScript segítségével. Javascript Metódus ScrollBy() görgeti a weboldalt a megadott számú képpontig.

A ScrollBy() metódusok szintaxisa a következő:

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

x-pixels az x-tengelyen lévő szám, balra mozog, ha a szám pozitív, és jobbra, ha a szám negatív .y-pixels az y-tengelyen lévő szám, lefelé mozog, ha a szám pozitív, és felfelé mozog, ha a szám negatív.

Példa:

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

Kimenet elemzés: Ez a kimenet a fenti szkript futtatásakor.

Görgessen le a weboldalon pixelenként

2. forgatókönyv: A weboldal lefelé görgetése az elem láthatósága szerint.

Selenium Forgatókönyv

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

Forgatókönyv Description: A fenti kódban először elindítjuk a megadott URL-t a Chrome böngészőben. Ezután görgessen addig az oldalon, amíg az említett elem meg nem jelenik az aktuális oldalon. Javascript A scrollIntoView() metódus addig görgeti az oldalt, amíg az említett elem teljes nézetben meg nem jelenik:

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

Az „argumentumok[0]” az oldal első indexét jelenti, amely 0-tól kezdődik.

Ahol egy " Elem " a lokátor a weboldalon.

Kimenet elemzés: Ez a kimenet a fenti szkript futtatásakor.

Görgessen le a weboldalon az elem láthatósága szerint

3. forgatókönyv: A weboldal lefelé görgetése az oldal alján.

Selenium Forgatókönyv

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

Forgatókönyv Description: A fenti kódban először elindítjuk a megadott URL-t a Chrome böngészőben. Ezután görgessen az oldal aljáig. Javascript metódus scrollTo() görgessen az oldal végéig.

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

A „document.body.scrollHeight” a törzs, azaz a weboldal teljes magasságát adja vissza.

Kimenet elemzés: Ez a kimenet a fenti szkript futtatásakor.

Görgessen le a weboldalon az oldal alján

4. forgatókönyv: Vízszintes görgetés a weboldalon

Selenium Forgatókönyv

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

Forgatókönyv Description: A fenti kódban először elindítjuk a megadott URL-t a Chrome böngészőben. Ezután görgessen vízszintesen az oldalt, amíg az említett elem láthatóvá nem válik az aktuális oldalon. Javascript A scrollIntoView() metódus addig görgeti az oldalt, amíg az említett elem teljes nézetben meg nem jelenik:

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

Kimenet elemzés: Ez a kimenet a fenti szkript futtatásakor.

Vízszintes görgetés a weboldalon

Tudjon meg többet JavaScriptExecutor

Mi az a görgetősáv?

A görgetősáv segítségével vízszintes vagy függőleges irányban mozoghat a képernyőn, ha az aktuális oldalgörgetés nem illeszkedik a képernyő látható területéhez. Az ablak fel-le mozgatására szolgál.

Selenium A Webdrivernek nincs szüksége görgetésre a műveletek végrehajtásához, mivel manipulálja a DOM-ot. Bizonyos weboldalakon azonban az elemek csak akkor válnak láthatóvá, ha a felhasználó rájuk görgetett. Ilyen esetekben görgetésre lehet szükség.

A görgetősáv kétféle: Vízszintes és a függőleges görgetősáv az alábbi képernyőképen látható módon.

görgetősáv

görgetősáv

Összegzésként

  • A fenti oktatóanyagban különböző forgatókönyveken keresztül szemléltetjük a weboldal görgetését.
  • Az első forgatókönyvben a görgetést oldalanként lefelé mutattuk.
  • A második forgatókönyvben az oldal lefelé görgetését mutattuk az elem láthatóvá válásáig.
  • A harmadik forgatókönyvben az oldal lefelé görgetését mutattuk meg az oldal alján.
  • A negyedik forgatókönyvben a vízszintes görgetést illusztrálva a weboldalon.