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.