Omlaag of OMHOOG scrollen Pagina in Selenium Webstuurprogramma

Scroll naar binnen Selenium

Om te scrollen met Selenium, Kunt u gebruik maken JavaScriptExecutor-interface die helpt bij het uitvoeren JavaScriptmethoden via Selenium Webstuurprogramma

Syntax:

JavascriptExecutor js = (JavascriptExecutor) driver;  
   js.executeScript(Script,Arguments);
  • Script – Dit is het JavaScript dat uitgevoerd moet worden.
  • Argumenten – Het zijn de argumenten voor het script. Het is optioneel.

Selenium Script om naar beneden te scrollen op de pagina

Laten we eens kijken naar het scrollen van een webpagina met behulp van de Selenium Webdriver met de volgende 4 scenario's:

  • Scenario 1: Pixelsgewijs naar beneden scrollen op de webpagina.
  • Scenario 2: Om door de webpagina te scrollen op basis van de zichtbaarheid van het element.
  • Scenario 3: Om onderaan de webpagina naar beneden te scrollen.
  • Scenario 4: Horizontaal scrollen op de webpagina.

Scenario 1: Pixelsgewijs naar beneden scrollen op de webpagina.

Selenium Script

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

Script Description: In de bovenstaande code lanceren we eerst de opgegeven URL in de Chrome-browser. Blader vervolgens door de pagina met 1000 pixels via executeScript. Javascript methode ScrollBy() scrollt de webpagina naar het specifieke aantal pixels.

De syntaxis van ScrollBy()-methoden is:

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

x-pixels is het getal op de x-as, het beweegt naar links als het getal positief is en het beweegt naar rechts als het getal negatief is. y-pixels is het getal op de y-as, het beweegt naar beneden als het getal is positief en het gaat naar boven als het getal negatief is.

Voorbeeld:

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

Outputanalyse: Hier is de uitvoer wanneer u het bovenstaande script uitvoert.

Scroll per pixel naar beneden op de webpagina

Scenario 2: Om door de webpagina te scrollen op basis van de zichtbaarheid van het element.

Selenium Script

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

Script Description: In de bovenstaande code lanceren we eerst de gegeven URL in de Chrome-browser. Blader vervolgens door de pagina totdat het genoemde element zichtbaar is op de huidige pagina. Javascript methode scrollIntoView() scrollt door de pagina totdat het genoemde element volledig zichtbaar is:

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

“argumenten[0]” betekent de eerste index van de pagina beginnend bij 0.

Waar een ‘Element’ de locator op de webpagina is.

Outputanalyse: Hier is de uitvoer wanneer u het bovenstaande script uitvoert.

Scroll naar beneden op de webpagina volgens de zichtbaarheid van het element

Scenario 3: Om onderaan de webpagina naar beneden te scrollen.

Selenium Script

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

Script Description: In de bovenstaande code lanceren we eerst de gegeven URL in de Chrome-browser. Scroll vervolgens naar de onderkant van de pagina. Javascript methode scrollTo() scroll tot het einde van de pagina.

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

“document.body.scrollHeight” retourneert de volledige hoogte van de hoofdtekst, dwz webpagina.

Outputanalyse: Hier is de uitvoer wanneer u het bovenstaande script uitvoert.

Scroll naar beneden op de webpagina onderaan de pagina

Scenario 4: Horizontaal scrollen op de webpagina

Selenium Script

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

Script Description: In de bovenstaande code lanceren we eerst de gegeven URL in de Chrome-browser. Blader vervolgens horizontaal door de pagina totdat het genoemde element zichtbaar is op de huidige pagina. Javascript methode scrollIntoView() scrollt door de pagina totdat het genoemde element volledig zichtbaar is:

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

Outputanalyse: Hier is de uitvoer wanneer u het bovenstaande script uitvoert.

Horizontale scroll op de webpagina

Lees verder over JavaScriptUitvoerder

Wat is een schuifbalk?

Met een schuifbalk kunt u in horizontale of verticale richting door het scherm bewegen als het scrollen van de huidige pagina niet in het zichtbare gedeelte van het scherm past. Het wordt gebruikt om het raam op en neer te bewegen.

Selenium Webdriver vereist geen scroll om acties uit te voeren omdat het DOM manipuleert. Maar op bepaalde webpagina's worden elementen pas zichtbaar als de gebruiker ernaartoe heeft gescrolld. In dergelijke gevallen kan scrollen nodig zijn.

De schuifbalk bestaat uit twee typen: Horizontaal en verticaal schuifbalk zoals weergegeven in onderstaande schermafbeelding.

scrollbar

scrollbar

Samenvatting

  • In de bovenstaande tutorial illustreren we het scrollen van de webpagina door middel van verschillende scenario's.
  • In het eerste scenario lieten we het scrollen pagina voor pixel zien.
  • In het tweede scenario lieten we het naar beneden scrollen van de pagina zien totdat het element zichtbaar werd.
  • In het derde scenario lieten we het naar beneden scrollen van de pagina onderaan de pagina zien.
  • In het vierde scenario werd de horizontale scroll op de webpagina geïllustreerd.