Cum să derulați în jos sau în sus o pagină în Selenium Webdriver

Cuprins:

Anonim

Ce este o bară de derulare?

O bară de derulare vă permite să vă deplasați pe ecran în direcție orizontală sau verticală dacă defilarea curentă a paginii nu se potrivește cu zona vizibilă a ecranului. Este folosit pentru a muta fereastra în sus și în jos.

Selenium Webdriver nu necesită derulare pentru a efectua acțiuni deoarece manipulează DOM. Dar în anumite pagini web, elementele devin vizibile doar după ce utilizatorul a parcurs la ele. În astfel de cazuri, poate fi necesară derularea.

Bara de defilare este de două tipuri: bara de defilare orizontală și verticală , așa cum se arată în imaginea de mai jos.

Derulați în seleniu

Pentru a derula folosind Selenium, puteți utiliza interfața JavaScriptExecutor care vă ajută să executați metode JavaScript prin Selenium Webdriver

Aflați mai multe despre JavaScriptExecutor

Sintaxă:

JavascriptExecutor js = (JavascriptExecutor) driver;js.executeScript (Script, Argumente);
  • Script - Acesta este JavaScript care trebuie executat.
  • Argumente - Sunt argumentele scriptului. Este opțional.

Selenium Script pentru a derula pagina

Să vedem derularea în jos a unei pagini web folosind selenium webdriver cu următoarele 3 scenarii:

  • Scenariul 1: Pentru a derula pagina web pe pixeli.
  • Scenariul 2: Pentru a derula pagina web în funcție de vizibilitatea elementului.
  • Scenariul 3: Pentru a derula pagina web din partea de jos a paginii.
  • Scenariul 4: derulare orizontală pe pagina web.

Scenariul 1: Pentru a derula pagina web pe pixeli.

Script de seleniu

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 = nou ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Lansați aplicațiadriver.get ("http://demo.guru99.com/test/guru99home/");// Pentru a maximiza fereastra. Este posibil ca acest cod să nu funcționeze cu borcane Selenium 3. Dacă scriptul eșuează, puteți elimina linia de mai josdriver.manage (). window (). maximize ();// Aceasta va derula pagina cu 1000 pixeli verticaljs.executeScript ("window.scrollBy (0,1000)");}}

Descrierea scriptului : În codul de mai sus lansăm mai întâi adresa URL dată în browserul Chrome. Apoi, derulați pagina cu 1000 de pixeli prin executeScript. Metoda Javascript ScrollBy () derulează pagina web la numărul specific de pixeli.

Sintaxa metodelor ScrollBy () este:

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

x-pixeli este numărul de pe axa x, se deplasează spre stânga dacă numărul este pozitiv și se deplasează spre dreapta dacă numărul este negativ .y-pixeli este numărul de pe axa y, se deplasează în jos dacă numărul este pozitiv și se deplasează în sus dacă numărul este negativ.

Exemplu:

js.executeScript ("window.scrollBy (0,1000)"); // Derulați vertical în jos cu 1000 de pixeli 

Analiza ieșirii: Iată ieșirea atunci când executați scriptul de mai sus.

Scenariul 2: Pentru a derula pagina web în funcție de vizibilitatea elementului.

Script de seleniu

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 = nou ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Lansați aplicațiadriver.get ("http://demo.guru99.com/test/guru99home/");// Găsiți elementul prin textul linkului și stocați-l în variabila „Element”Element WebElement = driver.findElement (By.linkText ("Linux"));// Aceasta va derula pagina până când elementul este găsitjs.executeScript ("arguments [0] .scrollIntoView ();", Element);}}

Descrierea scriptului: în codul de mai sus, lansăm mai întâi adresa URL dată în browserul Chrome. Apoi, derulați pagina până când elementul menționat este vizibil pe pagina curentă. Metoda Javascript scrollIntoView () derulează pagina până când elementul menționat este în vizualizare completă:

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

„argumente [0]” înseamnă primul index al paginii începând cu 0.

Unde un „Element” este localizatorul de pe pagina web.

Analiza ieșirii: Iată ieșirea atunci când executați scriptul de mai sus.

Scenariul 3: Pentru a derula pagina web din partea de jos a paginii.

Script de seleniu

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 = nou ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Lansați aplicațiadriver.get ("http://demo.guru99.com/test/guru99home/");// Aceasta va derula pagina web până la sfârșit.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}

Descrierea scriptului: în codul de mai sus, lansăm mai întâi adresa URL dată în browserul Chrome. Apoi, derulați până în partea de jos a paginii. Metoda Javascript scroll To () derulați până la sfârșitul paginii.

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

„document.body.scrollHeight” returnează înălțimea completă a corpului, adică a paginii web.

Analiza ieșirii: Iată ieșirea atunci când executați scriptul de mai sus.

Scenariul 4: derulare orizontală pe pagina web.

Script de seleniu

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 = nou ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Lansați aplicațiadriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");Element WebElement = driver.findElement (By.linkText ("VBScript"));// Aceasta va derula pagina pe orizontală până când elementul este găsitjs.executeScript ("arguments [0] .scrollIntoView ();", Element);}}

Descrierea scriptului: în codul de mai sus, lansăm mai întâi adresa URL dată în browserul Chrome. Apoi, derulați pagina orizontal până când elementul menționat este vizibil pe pagina curentă. Metoda Javascript scrollIntoView () derulează pagina până când elementul menționat este în vizualizare completă:

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

Analiza ieșirii: Iată ieșirea atunci când executați scriptul de mai sus.

rezumat

  • În tutorialul de mai sus, ilustrăm derularea paginii web prin diferite scenarii.
  • În primul scenariu, am arătat derularea în jos pe pagină cu pixel.
  • În al doilea scenariu, am arătat derularea în jos a paginii până la vizibilitatea elementului.
  • În al treilea scenariu, am arătat derularea în jos a paginii în partea de jos a paginii.
  • În al patrulea scenariu, a fost ilustrată derularea orizontală pe pagina web.