Come scorrere la pagina verso il basso o verso l'alto Selenium Webdriver

Scorri dentro Selenium

Per scorrere utilizzando Selenium, Puoi usare JavaInterfaccia ScriptExecutor che aiuta ad eseguire JavaMetodi di script tramite Selenium Webdriver

Sintassi:

JavascriptExecutor js = (JavascriptExecutor) driver;  
   js.executeScript(Script,Arguments);
  • Script – Questo è il JavaScript che deve essere eseguito.
  • Argomenti – Sono gli argomenti dello script. È facoltativo.

Selenium Script per scorrere la pagina verso il basso

Vediamo come scorrere una pagina web utilizzando il webdriver Selenium con i seguenti 4 scenari:

  • Scenario 1: scorrere la pagina Web verso il basso per pixel.
  • Scenario 2: scorrere verso il basso la pagina Web in base alla visibilità dell'elemento.
  • Scenario 3: scorrere la pagina Web nella parte inferiore della pagina.
  • Scenario 4: scorrimento orizzontale della pagina web.

Scenario 1: scorrere la pagina Web verso il basso per pixel.

Selenium Copione

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

Copione Descriptione: Nel codice sopra innanzitutto lanciamo l'URL indicato nel browser Chrome. Successivamente, scorri la pagina di 1000 pixel tramite executiveScript. Javascript il metodo ScrollBy() scorre la pagina Web fino al numero specifico di pixel.

La sintassi dei metodi ScrollBy() è:

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

x-pixel è il numero sull'asse x, si sposta a sinistra se il numero è positivo e si sposta a destra se il numero è negativo .y-pixel è il numero sull'asse y, si sposta verso il basso se il numero è positivo e si sposta verso l'alto se il numero è negativo.

Esempio:

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

Analisi dei risultati: Ecco l'output quando esegui lo script precedente.

Scorri verso il basso la pagina Web in base ai pixel

Scenario 2: scorrere verso il basso la pagina Web in base alla visibilità dell'elemento.

Selenium Copione

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

Copione Descriptione: Nel codice sopra, lanciamo prima l'URL indicato nel browser Chrome. Successivamente, scorri la pagina finché l'elemento menzionato non è visibile nella pagina corrente. Javascript il metodo scrollIntoView() scorre la pagina finché l'elemento menzionato non è completamente visibile:

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

"argomenti[0]" indica il primo indice della pagina che inizia da 0.

Dove un “Elemento” è il localizzatore sulla pagina web.

Analisi dei risultati: Ecco l'output quando esegui lo script precedente.

Scorri verso il basso la pagina Web in base alla visibilità dell'elemento

Scenario 3: scorrere la pagina Web nella parte inferiore della pagina.

Selenium Copione

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

Copione Descriptione: Nel codice sopra, lanciamo prima l'URL indicato nel browser Chrome. Successivamente, scorri fino alla fine della pagina. Javascript metodo scrollTo() scorre fino alla fine della pagina.

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

"document.body.scrollHeight" restituisce l'altezza completa del corpo, ovvero della pagina web.

Analisi dei risultati: Ecco l'output quando esegui lo script precedente.

Scorri verso il basso la pagina Web nella parte inferiore della pagina

Scenario 4: scorrimento orizzontale della pagina web

Selenium Copione

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

Copione Descriptione: Nel codice sopra, lanciamo prima l'URL indicato nel browser Chrome. Successivamente, scorri la pagina orizzontalmente finché l'elemento menzionato non è visibile nella pagina corrente. Javascript il metodo scrollIntoView() scorre la pagina finché l'elemento menzionato non è completamente visibile:

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

Analisi dei risultati: Ecco l'output quando esegui lo script precedente.

Scorrimento orizzontale nella pagina Web

Scopri JavaScriptExecutor

Cos'è una barra di scorrimento?

Una barra di scorrimento consente di spostarsi sullo schermo in direzione orizzontale o verticale se lo scorrimento della pagina corrente non si adatta all'area visibile dello schermo. Viene utilizzato per spostare la finestra su e giù.

Selenium Webdriver non richiede lo scorrimento per eseguire azioni poiché manipola il DOM. Ma in alcune pagine web gli elementi diventano visibili solo dopo che l'utente li ha scorti. In questi casi potrebbe essere necessario lo scorrimento.

La barra di scorrimento è di due tipi: Orizzontale e verticale barra di scorrimento come mostrato nello screenshot seguente.

scrollbar

scrollbar

Sintesi

  • Nel tutorial sopra, illustriamo lo scorrimento della pagina web attraverso diversi scenari.
  • Nel primo scenario, abbiamo mostrato lo scorrimento verso il basso pagina per pixel.
  • Nel secondo scenario, abbiamo mostrato lo scorrimento verso il basso della pagina fino alla visibilità dell'elemento.
  • Nel terzo scenario, abbiamo mostrato lo scorrimento verso il basso della pagina in fondo alla pagina.
  • Nel quarto scenario, illustrato lo scorrimento orizzontale della pagina web.