So scrollen Sie nach unten oder oben 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.

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

Skript DescriptIon: Im obigen Code starten wir zuerst die angegebene URL im Chrome-Browser. Anschließend scrollen wir die Seite mithilfe von „executeScript“ um 1000 Pixel. 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("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);
    }
}

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

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

Erfahren Sie mehr darüber JavaSkriptExecutor

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

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.