So scrollen Sie nach unten oder oben Selenium Webtreiber

⚡ Intelligente Zusammenfassung

Scrollen einer Seite in Selenium WebDriver verwendet den JavascriptExecutor-Schnittstelle zum Ausführen JavaScrollbefehle werden per Skript ausgeführt, da WebDriver das DOM direkt manipuliert. Vier praktische Szenarien decken das Scrollen pixelweise, zu einem Element, zum Seitenende und horizontal ab.

  • 📜 JavascriptTestamentsvollstrecker: Läuft JavaSkript-Scrollbefehle durch Selenium WebDriver.
  • 🔢 Pixelweises Scrollen: window.scrollBy(x,y) verschiebt die Seite um eine festgelegte Anzahl von Pixeln.
  • 🎯 Zum Element scrollen: scrollIntoView() scrollt, bis das Zielelement vollständig sichtbar ist.
  • ⬇️ Scrollen Sie nach unten: scrollTo mit document.body.scrollHeight erreicht das Seitenende.
  • ↔️ Horizontales Scrollen: scrollIntoView bewegt sich auch seitlich zu Elementen außerhalb des Bildschirms.
  • 🧭 Grundlagen der Scrollleiste: Beim Scrollen werden Elemente sichtbar, die erst geladen werden, wenn sie in den sichtbaren Bereich gelangen.

Seite nach unten oder oben scrollen Selenium WebTreiber

Scrollen Sie hinein Selenium

Zum Scrollen mit Selenium, Sie können JavaScriptExecutor-Schnittstelle, die bei der Ausführung hilft JavaSkriptmethoden durch Selenium Webtreiber

Syntax:

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

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 er 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

Selenium Skript zum Scrollen auf der Seite nach unten

Sehen wir uns das Scrollen nach unten auf einer Webseite mit dem Selenium-Webtreiber in den folgenden vier Szenarien an:

  • 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("https://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)");
    }
}

Skript DescriptIonIm obigen Code starten wir zuerst die gegebene URL Im Chrome-Browser. Als Nächstes die Seite mithilfe von executeScript um 1000 Pixel scrollen. Javascript Die Methode ScrollBy() scrollt die Webseite auf die angegebene Pixelanzahl.

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.

Ejemplo:

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("https://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);
    }
}

Skript DescriptIon: Im obigen Code starten wir zuerst die angegebene URL im Chrome-Browser. Scrollen Sie anschließend die Seite, bis das erwähnte Element auf der aktuellen Seite sichtbar ist. Javascript Die Methode scrollIntoView() scrollt die Seite, bis das genannte 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("https://demo.guru99.com/test/guru99home/");

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

Skript Description: Im obigen Code starten wir zuerst die angegebene URL im Chrome-Browser. Scrollen Sie anschließend bis zum Ende der Seite. Javascript Methode scrollTo() scrollt 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("https://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);
    }
}

Skript Description: Im obigen Code starten wir zuerst 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. Javascript Die Methode scrollIntoView() scrollt die Seite, bis das genannte 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

Mehr über erfahren JavaSkriptExecutor

Häufig gestellte Fragen

Verwenden Sie einen negativen Pixelwert mit `window.scrollBy`, beispielsweise `js.executeScript with window.scrollBy(0,-1000)`. Der negative y-Wert bewegt die Seite nach oben, im Gegensatz zu einem positiven Wert, der nach unten scrollt.

Ja. Sie können Keys.PAGE_DOWN, Keys.END oder die Pfeiltasten an ein Element senden oder die Actions-Klasse verwenden. Selenium 4. JavascriptExecutor bleibt die flexibelste Option.

Browser erfassen nur den sichtbaren Bereich, daher scrollen Skripte durch die Seite, erfassen Abschnitte und fügen diese zusammen. Beim Scrollen werden außerdem verzögert geladene Bilder und Inhalte vor dem Screenshot geladen.

Ja. KI-Assistenten erzeugen aus einfachen Anweisungen scrollBy-, scrollIntoView- und scrollTo-Code-Schnipsel und erklären die Pixelberechnung. RevÜberprüfen Sie Locators und Wartebedingungen, bevor Sie sie in Ihrer Suite ausführen.

KI-gestützte Tools erkennen, wann das Laden neuer Inhalte aufhört, passen die Scrolltiefe dynamisch an und warten intelligent auf neue Elemente. Dadurch wird das Testen von Feeds mit unendlichem Scrollen automatisiert, ohne dass Pixel fest codiert werden müssen.

`scrollBy` verschiebt die Seite um eine feste Anzahl von Pixeln von der aktuellen Position. `scrollIntoView` scrollt, bis ein bestimmtes Element sichtbar ist. Verwenden Sie `scrollBy` für die Entfernung und `scrollIntoView` für die gezielte Auswahl von Elementen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: