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: