So scrollen Sie im Selenium Webdriver nach unten oder oben

Scrollen Sie in Selen

Um mit Selenium zu scrollen, können Sie die JavaScriptExecutor-Schnittstelle verwenden, die dabei hilft, JavaScript-Methoden über Selenium Webdriver auszuführen

Syntax:

JavascriptExecutor js = (JavascriptExecutor) driver;  
   js.executeScript(Script,Arguments);
  • Skript – Dies ist das JavaScript, das ausgeführt werden muss.
  • Argumente – Dies sind die Argumente für das Skript. Es ist optional.

Selenium-Skript, um auf der Seite nach unten zu scrollen

Sehen wir uns das Herunterscrollen einer Webseite mit dem Selenium-Webdriver mit Follo anwing 4 Szenarien:

  • Szenario 1: Die Webseite pixelweise nach unten scrollen.
  • Szenario 2: Scrollen Sie auf der Webseite entsprechend der Sichtbarkeit des Elements nach unten.
  • Szenario 3: Scrollen Sie auf der Webseite am Ende der Seite nach unten.
  • Szenario 4: Horizontales Scrollen auf der Webseite.

Szenario 1: Die Webseite pixelweise nach unten scrollen.

Selenium-Skript

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

Skriptbeschreibung: Im obigen Code starten wir zuerst die angegebene URL im Chrome-Browser. Scrollen Sie als Nächstes mit „executeScript“ um 1000 Pixel auf der Seite. Die Javascript-Methode ScrollBy() scrollt die Webseite auf die bestimmte Anzahl von Pixeln.

Die Syntax der ScrollBy()-Methoden lautet:

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

x-Pixel ist die Zahl auf der x-Achse, sie bewegt sich nach links, wenn die Zahl positiv ist, und sie bewegt sich nach rechts, wenn die Zahl negativ ist. y-Pixel ist die Zahl auf der y-Achse, sie bewegt sich nach unten, wenn die Zahl negativ ist positiv und es bewegt sich nach oben, wenn die Zahl negativ ist.

Beispiel:

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

Ausgabeanalyse: Hier ist die Ausgabe, wenn Sie das obige Skript ausführen.

Scrollen Sie pixelweise auf der Webseite nach unten

Szenario 2: Scrollen Sie auf der Webseite entsprechend der Sichtbarkeit des Elements nach unten.

Selenium-Skript

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

Skriptbeschreibung: Im obigen Code starten wir zunächst die angegebene URL im Chrome-Browser. Scrollen Sie anschließend durch die Seite, bis das erwähnte Element auf der aktuellen Seite sichtbar ist. Die Javascript-Methode scrollIntoView() scrollt die Seite, bis das erwähnte Element vollständig angezeigt wird:

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

„arguments[0]“ bedeutet erster Index der Seite beginnend bei 0.

Wobei ein „Element“ der Locator auf der Webseite ist.

Ausgabeanalyse: Hier ist die Ausgabe, wenn Sie das obige Skript ausführen.

Scrollen Sie auf der Webseite entsprechend der Sichtbarkeit des Elements nach unten

Szenario 3: Scrollen Sie auf der Webseite am Ende der Seite nach unten.

Selenium-Skript

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

Skriptbeschreibung: Im obigen Code starten wir zunächst die angegebene URL im Chrome-Browser. Scrollen Sie anschließend bis zum Ende der Seite. Mit der Javascript-Methode scrollTo() scrollen Sie bis zum Ende der Seite.

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

„document.body.scrollHeight“ gibt die vollständige Höhe des Körpers, also der Webseite, zurück.

Ausgabeanalyse: Hier ist die Ausgabe, wenn Sie das obige Skript ausführen.

Scrollen Sie auf der Webseite unten auf der Seite nach unten

Szenario 4: Horizontales Scrollen auf der Webseite

Selenium-Skript

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

Skriptbeschreibung: Im obigen Code starten wir zunächst die angegebene URL im Chrome-Browser. Scrollen Sie anschließend horizontal durch die Seite, bis das erwähnte Element auf der aktuellen Seite sichtbar ist. Die Javascript-Methode scrollIntoView() scrollt die Seite, bis das erwähnte Element vollständig angezeigt wird:

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

Ausgabeanalyse: Hier ist die Ausgabe, wenn Sie das obige Skript ausführen.

Horizontales Scrollen auf der Webseite

Erfahren Sie mehr darüber JavaScriptExecutor

Was ist eine Scrollbar?

Mit einer Bildlaufleiste können Sie sich horizontal oder vertikal auf dem Bildschirm bewegen, wenn der aktuelle Bildlauf nicht in den sichtbaren Bereich des Bildschirms passt. Es wird verwendet, um das Fenster nach oben und unten zu bewegen.

Selenium Webdriver erfordert kein Scrollen, um Aktionen auszuführen, da es das DOM manipuliert. Auf bestimmten Webseiten werden Elemente jedoch erst sichtbar, wenn der Benutzer zu ihnen gescrollt hat. In solchen Fällen kann ein Scrollen erforderlich sein.

Es gibt zwei Arten von Bildlaufleisten: Horizontale und vertikal Scrollen Sie durch die Bildlaufleiste, wie im folgenden Screenshot gezeigt.

Scrollbar

Scrollbar

Zusammenfassung

  • Im obigen Tutorial veranschaulichen wir das Scrollen der Webseite anhand verschiedener Szenarien.
  • Im ersten Szenario haben wir das Scrollen seitenweise nach unten angezeigt.
  • Im zweiten Szenario zeigten wir das Scrollen der Seite nach unten, bis das Element sichtbar war.
  • Im dritten Szenario haben wir das Scrollen der Seite nach unten am Ende der Seite angezeigt.
  • Im vierten Szenario wird der horizontale Bildlauf auf der Webseite veranschaulicht.