Kako pomicati stranicu prema dolje ili prema gore Selenium Webdriver
โก Pametni saลพetak
Pomicanje stranice unutra Selenium WebDriver koristi JavascriptIzvrลกno suฤelje za pokretanje JavaNaredbe za pomicanje skripte, jer WebDriver izravno manipulira DOM-om. ฤetiri praktiฤna scenarija pokrivaju pomicanje po pikselu, do elementa, do dna stranice i horizontalno.

Pomaknite se Selenium
Za pomicanje pomoฤu Selenium, Moลพete koristiti JavaScriptExecutor suฤelje koje pomaลพe u izvrลกenju JavaMetode skripte kroz Selenium Webdriver
Sintaksa:
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript(Script,Arguments);
- Skripta โ Ovo je JavaSkripta koja se treba izvrลกiti.
- Argumenti โ To su argumenti za scenarij. Nije obavezno.
ล to je traka za pomicanje?
Traka za pomicanje omoguฤuje vam kretanje po zaslonu u vodoravnom ili okomitom smjeru ako pomicanje trenutne stranice ne stane u vidljivo podruฤje zaslona. Koristi se za pomicanje prozora gore-dolje.
Selenium Webdriver ne zahtijeva pomicanje za izvoฤenje radnji jer manipulira DOM-om. Ali na odreฤenim web-stranicama elementi postaju vidljivi tek nakon ลกto se korisnik pomakne do njih. U takvim sluฤajevima moลพe biti potrebno pomicanje.
Traka za pomicanje je dvije vrste: Vodoravan i vertikalna traku za pomicanje kao ลกto je prikazano na slici ispod.
Selenium Skripta za pomicanje stranice prema dolje
Pogledajmo pomicanje web stranice prema dolje pomoฤu selenium webdrivera sa sljedeฤa 4 scenarija:
- Scenarij 1: Za pomicanje web stranice prema dolje po piksel.
- Scenarij 2: Pomicanje web-stranice prema dolje prema vidljivosti elementa.
- Scenarij 3: Za pomicanje web stranice prema dolje na dnu stranice.
- Scenarij 4: Horizontalno pomicanje na web stranici.
Scenarij 1: Za pomicanje web stranice prema dolje po piksel.
Selenium 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 { 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)"); } }
Script DescriptionU gornjem kodu prvo pokreฤemo zadano URL u pregledniku Chrome. Zatim pomaknite stranicu za 1000 piksela pomoฤu executeScript. Javascript metoda ScrollBy() pomiฤe web stranicu do odreฤenog broja piksela.
Sintaksa metoda ScrollBy() je:
executeScript("window.scrollBy(x-pixels,y-pixels)");
x-pikseli su broj na x-osi, pomiฤu se ulijevo ako je broj pozitivan i pomiฤu se udesno ako je broj negativan. y-pikseli su broj na y-osi, pomiฤu se prema dolje ako je broj pozitivan i pomiฤe se prema gore ako je broj negativan.
Primjer:
js.executeScript("window.scrollBy(0,1000)"); //Scroll vertically down by 1000 pixels
Analiza izlaza: Ovo je rezultat kada izvrลกite gornju skriptu.
Scenarij 2: Pomicanje web-stranice prema dolje prema vidljivosti elementa.
Selenium 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 { 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); } }
Script Description: U gornjem kodu prvo pokreฤemo dati url u pregledniku Chrome. Zatim pomiฤite stranicu sve dok spomenuti element ne bude vidljiv na trenutnoj stranici. Javascript metoda scrollIntoView() pomiฤe stranicu dok navedeni element ne bude u punom prikazu:
js.executeScript("arguments[0].scrollIntoView();",Element );
โargumenti[0]โ znaฤi prvi indeks stranice koji poฤinje s 0.
Gdje je "Element" lokator na web stranici.
Analiza izlaza: Ovo je rezultat kada izvrลกite gornju skriptu.
Scenarij 3: Za pomicanje web stranice prema dolje na dnu stranice.
Selenium 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 { 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)"); } }
Script Description: U gornjem kodu prvo pokreฤemo dati url u pregledniku Chrome. Zatim se pomaknite do dna stranice. Javascript metoda scrollTo() pomaknite se do kraja stranice.
js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
โdocument.body.scrollHeightโ vraฤa kompletnu visinu tijela tj. web stranice.
Analiza izlaza: Ovo je rezultat kada izvrลกite gornju skriptu.
Scenarij 4: Horizontalno pomicanje na web stranici
Selenium 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 { 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); } }
Script Description: U gornjem kodu prvo pokreฤemo dati url u pregledniku Chrome. Zatim pomiฤite stranicu vodoravno dok navedeni element ne bude vidljiv na trenutnoj stranici. Javascript metoda scrollIntoView() pomiฤe stranicu dok navedeni element ne bude u punom prikazu:
js.executeScript("arguments[0].scrollIntoView();",Element );
Analiza izlaza: Ovo je rezultat kada izvrลกite gornju skriptu.
Saznajte viลกe o JavaScriptExecutor






