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 DOM. Ma in alcune pagine web, gli elementi diventano visibili solo dopo che l'utente li ha selezionati. In questi casi potrebbe essere necessario lo scorrimento.
La barra di scorrimento è di due tipi: barra di scorrimento orizzontale e verticale come mostrato nell'immagine sottostante.
Scorri in selenio
Per scorrere utilizzando Selenium, è possibile utilizzare l'interfaccia JavaScriptExecutor che aiuta a eseguire metodi JavaScript tramite Selenium Webdriver
Ulteriori informazioni su JavaScriptExecutor
Sintassi:
JavascriptExecutor js = (JavascriptExecutor) driver;js.executeScript (Script, Arguments);
- Script: questo è il JavaScript che deve essere eseguito.
- Argomenti: sono gli argomenti dello script. È opzionale.
Selenium Script per scorrere la pagina verso il basso
Vediamo lo scorrimento verso il basso di una pagina Web utilizzando il webdriver selenio con i seguenti 3 scenari:
- Scenario 1: per scorrere la pagina Web per pixel.
- Scenario 2: per scorrere la pagina Web in base alla visibilità dell'elemento.
- Scenario 3: per scorrere la pagina Web nella parte inferiore della pagina.
- Scenario 4: scorrimento orizzontale nella pagina web.
Scenario 1: per scorrere la pagina Web per pixel.
Selenio 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 {Driver WebDriver;@Testpublic void ByPixel () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = nuovo ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Avvia l'applicazionedriver.get ("http://demo.guru99.com/test/guru99home/");// Per ingrandire la finestra. Questo codice potrebbe non funzionare con i barattoli Selenium 3. Se lo script fallisce, puoi rimuovere la riga sottostantedriver.manage (). window (). maxim ();// Questo farà scorrere la pagina verso il basso di 1000 pixel in verticalejs.executeScript ("window.scrollBy (0,1000)");}}
Descrizione dello script : nel codice sopra, per prima cosa avviamo l'URL specificato nel browser Chrome. Successivamente, scorri la pagina di 1000 pixel attraverso executeScript. Il metodo Javascript ScrollBy () scorre la pagina web fino al numero specifico di pixel.
La sintassi dei metodi ScrollBy () è:
executeScript ("window.scrollBy (x-pixel, y-pixel)");
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 è in negativo.
Esempio:
js.executeScript ("window.scrollBy (0,1000)"); // Scorre verticalmente verso il basso di 1000 pixel
Analisi dell'output: ecco l'output quando si esegue lo script precedente.
Scenario 2: per scorrere la pagina Web in base alla visibilità dell'elemento.
Selenio 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 {Driver WebDriver;@Testpublic void ByVisibleElement () {System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");driver = nuovo ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Avvia l'applicazionedriver.get ("http://demo.guru99.com/test/guru99home/");// Trova elemento in base al testo del link e memorizza nella variabile "Elemento"Elemento WebElement = driver.findElement (By.linkText ("Linux"));// Questo scorrerà la pagina fino a trovare l'elementojs.executeScript ("arguments [0] .scrollIntoView ();", Element);}}
Descrizione dello script: nel codice sopra, per prima cosa avviamo l'URL specificato nel browser Chrome. Successivamente, scorri la pagina fino a quando l'elemento menzionato è visibile nella pagina corrente. Il metodo Javascript scrollIntoView () scorre la pagina fino a quando l'elemento menzionato non è completamente visualizzato:
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 dell'output: ecco l'output quando si esegue lo script precedente.
Scenario 3: per scorrere la pagina Web nella parte inferiore della pagina.
Selenio 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 {Driver WebDriver;@Testpublic void ByPage () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = nuovo ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Avvia l'applicazionedriver.get ("http://demo.guru99.com/test/guru99home/");// Questo scorrerà la pagina web fino alla fine.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}
Descrizione dello script: nel codice sopra, per prima cosa avviamo l'URL specificato nel browser Chrome. Quindi, scorri fino alla fine della pagina. Metodo Javascript 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 la pagina web.
Analisi dell'output: ecco l'output quando si esegue lo script precedente.
Scenario 4: scorrimento orizzontale nella pagina web.
Selenio 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 {Driver WebDriver;@Testpublic void ScrollHorizontally () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = nuovo ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Avvia l'applicazionedriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");Elemento WebElement = driver.findElement (By.linkText ("VBScript"));// Questo farà scorrere la pagina orizzontalmente fino a trovare l'elementojs.executeScript ("arguments [0] .scrollIntoView ();", Element);}}
Descrizione dello script: nel codice sopra, per prima cosa avviamo l'URL specificato nel browser Chrome. Successivamente, scorri la pagina orizzontalmente fino a quando l'elemento menzionato non è visibile nella pagina corrente. Il metodo Javascript scrollIntoView () scorre la pagina fino a quando l'elemento menzionato non è completamente visualizzato:
js.executeScript ("arguments [0] .scrollIntoView ();", Element);
Analisi dell'output: ecco l'output quando si esegue lo script precedente.
Sommario
- 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 della pagina fino alla visibilità dell'elemento.
- Nel terzo scenario, abbiamo mostrato lo scorrimento della pagina nella parte inferiore della pagina.
- Nel quarto scenario, illustrato lo scorrimento orizzontale sulla pagina web.