Hvordan bla ned eller opp en side i Selen Webdriver

Innholdsfortegnelse:

Anonim

Hva er en rullefelt?

En rullefelt er en som lar deg bevege deg rundt på skjermen i horisontal eller vertikal retning hvis den aktuelle sideskrollen ikke passer til det synlige området på skjermen. Det brukes til å flytte vinduet opp og ned.

Selenium Webdriver krever ikke bla for å utføre handlinger ettersom den manipulerer DOM. Men på visse websider blir elementene bare synlige når brukeren har rullet til dem. I slike tilfeller kan det være nødvendig å bla.

Rullefelt er av to typer: Horisontal og vertikal rullefelt som vist på skjermbildet nedenfor.

Bla i selen

For å bla ved hjelp av Selenium, kan du bruke JavaScriptExecutor-grensesnitt som hjelper til å utføre JavaScript-metoder gjennom Selenium Webdriver

Lær mer om JavaScriptExecutor

Syntaks:

JavascriptExecutor js = (JavascriptExecutor) driver;js.executeScript (skript, argumenter);
  • Skript - Dette er JavaScript som må utføres.
  • Argumenter - Det er argumentene til skriptet. Det er valgfritt.

Selenium Script for å bla nedover på siden

La oss, se bla ned en webside ved hjelp av selen webdriver med følgende 3 scenarier:

  • Scenario 1: Å bla nedover på nettsiden etter piksel.
  • Scenario 2: Å bla nedover på nettsiden etter elementets synlighet.
  • Scenario 3: Å bla nedover på websiden nederst på siden.
  • Scenario 4: Horisontal bla på websiden.

Scenario 1: Å bla nedover på nettsiden etter piksel.

Selen Script

importer org.openqa.selenium.JavascriptExecutor;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.chrome.ChromeDriver;importer org.testng.annotations.Test;offentlig klasse ScrollByPixel {WebDriver driver;@Testoffentlig ugyldig ByPixel () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = ny ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Start applikasjonendriver.get ("http://demo.guru99.com/test/guru99home/");// For å maksimere vinduet. Denne koden fungerer muligens ikke med Selenium-krukker. Hvis skriptet mislykkes, kan du fjerne linjen nedenfordriver.manage (). vindu (). maksimere ();// Dette vil rulle nedover siden med 1000 piksler loddrettjs.executeScript ("window.scrollBy (0,1000)");}}

Skriptbeskrivelse : I koden ovenfor starter vi den angitte URL-en i Chrome-nettleseren. Deretter blar du siden med 1000 piksler gjennom executeScript. Javascript-metode ScrollBy () ruller websiden til det bestemte antall piksler.

Syntaksen til ScrollBy () -metodene er:

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

x-piksler er tallet på x-aksen, det beveger seg til venstre hvis tallet er positivt og det beveger seg til høyre hvis tallet er negativt. y-piksler er tallet på y-aksen, det beveger seg til ned hvis tallet er positivt og det går oppover hvis tallet er negativt.

Eksempel:

js.executeScript ("window.scrollBy (0,1000)"); // Rull vertikalt ned med 1000 piksler 

Utdataanalyse: Her er utdata når du utfører skriptet ovenfor.

Scenario 2: Å bla nedover på nettsiden etter elementets synlighet.

Selen Script

importer org.openqa.selenium.By;importer org.openqa.selenium.JavascriptExecutor;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.WebElement;importer org.openqa.selenium.chrome.ChromeDriver;importer org.testng.annotations.Test;offentlig klasse ScrollByVisibleElement {WebDriver driver;@Testoffentlig ugyldig ByVisibleElement () {System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");driver = ny ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Start applikasjonendriver.get ("http://demo.guru99.com/test/guru99home/");// Finn element etter lenketekst og lagre i variabelen "Element"WebElement Element = driver.findElement (By.linkText ("Linux"));// Dette vil bla siden til elementet er funnetjs.executeScript ("argumenter [0] .scrollIntoView ();", Element);}}

Skriptbeskrivelse: I koden ovenfor starter vi først den gitte url i Chrome-nettleseren. Deretter blar du på siden til det nevnte elementet er synlig på den gjeldende siden. Javascript-metode scrollIntoView () blar siden til det nevnte elementet er i full visning:

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

"argumenter [0]" betyr første indeks for siden som starter ved 0.

Hvor et "Element" er lokaliseringen på websiden.

Utdataanalyse: Her er utdata når du utfører skriptet ovenfor.

Scenario 3: Å bla nedover på websiden nederst på siden.

Selen Script

importer org.openqa.selenium.JavascriptExecutor;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.chrome.ChromeDriver;importer org.testng.annotations.Test;offentlig klasse ScrollByPage {WebDriver driver;@Testoffentlig ugyldig ByPage () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = ny ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Start applikasjonendriver.get ("http://demo.guru99.com/test/guru99home/");// Dette vil rulle på websiden til slutten.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}

Skriptbeskrivelse: I koden ovenfor starter vi først den gitte url i Chrome-nettleseren. Deretter blar du til bunnen av siden. Javascript-metode scrollTo () bla til slutten av siden.

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

"document.body.scrollHeight" returnerer hele høyden på kroppen, dvs. nettsiden.

Utdataanalyse: Her er utdata når du utfører skriptet ovenfor.

Scenario 4: Horisontal bla på websiden.

Selen Script

importer org.openqa.selenium.By;importer org.openqa.selenium.JavascriptExecutor;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.WebElement;importer org.openqa.selenium.chrome.ChromeDriver;importer org.testng.annotations.Test;offentlig klasse HorizontalScroll {WebDriver driver;@Testoffentlig ugyldig ScrollHorizontally () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = ny ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Start applikasjonendriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");WebElement Element = driver.findElement (By.linkText ("VBScript"));// Dette vil rulle siden horisontalt til elementet er funnetjs.executeScript ("argumenter [0] .scrollIntoView ();", Element);}}

Skriptbeskrivelse: I koden ovenfor starter vi først den gitte url i Chrome-nettleseren. Deretter blar du siden horisontalt til det nevnte elementet er synlig på den gjeldende siden. Javascript-metode scrollIntoView () blar siden til det nevnte elementet er i full visning:

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

Utdataanalyse: Her er utdata når du utfører skriptet ovenfor.

Sammendrag

  • I veiledningen ovenfor illustrerer vi bla på websiden gjennom forskjellige scenarier.
  • I det første scenariet viste vi bla ned på side for piksel.
  • I det andre scenariet viste vi rulle nedover på siden til det synlige av elementet.
  • I det tredje scenariet viste vi bla nedover på siden nederst på siden.
  • I det fjerde scenariet illustrert den horisontale bla på websiden.