Što je traka za pomicanje?
Traka za pomicanje omogućuje vam kretanje po zaslonu u vodoravnom ili okomitom smjeru ako trenutno pomicanje stranice ne odgovara vidljivom području zaslona. Koristi se za pomicanje prozora gore-dolje.
Selenium Webdriver ne zahtijeva pomicanje za izvršavanje radnji dok manipulira DOM-om. No, na određenim web stranicama elementi postaju vidljivi tek kad se korisnik do njih pomakne. U takvim slučajevima može biti potrebno pomicanje.
Traka za pomicanje je dvije vrste: vodoravna i okomita traka za pomicanje kao što je prikazano na donjoj snimci zaslona.
Pomaknite se u selenu
Za pomicanje pomoću Selenium možete koristiti JavaScriptExecutor sučelje koje pomaže u izvršavanju JavaScript metoda putem Selenium Webdriver
Saznajte više o JavaScriptExecutoru
Sintaksa:
JavascriptExecutor js = (JavascriptExecutor) pokretački program;js.executeScript (skripta, argumenti);
- Skripta - ovo je JavaScript koji treba izvršiti.
- Argumenti - to su argumenti skripti. Nije obavezno.
Selenium Script za pomicanje prema dolje po stranici
Pogledajmo pomicanje web stranice prema dolje pomoću selenovog web pogona sa sljedeća 3 scenarija:
- Scenarij 1: Za pomicanje web stranice prema pikselu prema dolje.
- Scenarij 2: Za pomicanje web stranice prema vidljivosti elementa.
- Scenarij 3: Za pomicanje web stranice prema dolje na dnu stranice.
- Scenarij 4: vodoravno pomicanje na web stranici.
Scenarij 1: Za pomicanje web stranice prema pikselu prema dolje.
Scenarij selena
import org.openqa.selenium.JavascriptExecutor;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;javna klasa ScrollByPixel {Upravljački program za WebDriver;@Testjavna praznina ByPixel () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");upravljački program = novi ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) pokretački program;// Pokretanje aplikacijedriver.get ("http://demo.guru99.com/test/guru99home/");// Za maksimiziranje prozora. Ovaj kod možda neće raditi sa staklenkama Selenium 3. Ako skripta ne uspije, možete ukloniti donji redakdriver.manage (). window (). maximize ();// Ovo će se pomaknuti prema dolje za vertikalu od 1000 pikselajs.executeScript ("window.scrollBy (0,1000)");}}
Opis skripte : U gornjem kodu prvo pokrećemo zadani URL u pregledniku Chrome. Zatim pomaknite stranicu za 1000 piksela kroz executeScript. Javascript metoda ScrollBy () pomiče web stranicu do određenog broja piksela.
Sintaksa metoda ScrollBy () je:
executeScript ("window.scrollBy (x-pikseli, y-pikseli)");
x-pikseli je broj na osi x, pomiče se ulijevo ako je broj pozitivan i pomiče se udesno ako je broj negativan .y-pikseli je broj u osi y, pomiče se prema dolje ako je broj pozitivan i pomiče se prema gore ako je broj negativan.
Primjer:
js.executeScript ("window.scrollBy (0,1000)"); // Pomicanje okomito prema dolje za 1000 piksela
Analiza rezultata: Ovo je izlaz kad izvršite gornju skriptu.
Scenarij 2: Za pomicanje web stranice prema vidljivosti elementa.
Scenarij selena
uvoz org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecutor;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.WebElement;uvoz org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;javna klasa ScrollByVisibleElement {Upravljački program za WebDriver;@Testjavna void ByVisibleElement () {System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");upravljački program = novi ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) pokretački program;// Pokretanje aplikacijedriver.get ("http://demo.guru99.com/test/guru99home/");// Pronađi element pomoću teksta veze i pohrani u varijablu "Element"WebElement Element = driver.findElement (By.linkText ("Linux"));// Ovo će pomicati stranicu dok se element ne pronađejs.executeScript ("argumenti [0] .scrollIntoView ();", Element);}}
Opis skripte: U gornjem kodu prvo pokrećemo zadani url u pregledniku Chrome. Zatim pomičite stranicu dok spomenuti element ne bude vidljiv na trenutnoj stranici. Javascript metoda scrollIntoView () pomiče stranicu dok se spomenuti element ne prikaže u cjelini:
js.executeScript ("argumenti [0] .scrollIntoView ();", Element);
"argumenti [0]" znači prvi indeks stranice koji započinje od 0.
Gdje je "Element" lokator na web stranici.
Analiza rezultata: Ovo je izlaz kad izvršite gornju skriptu.
Scenarij 3: Za pomicanje web stranice prema dolje na dnu stranice.
Scenarij selena
import org.openqa.selenium.JavascriptExecutor;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;javni razred ScrollByPage {Upravljački program za WebDriver;@Testjavna void ByPage () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");upravljački program = novi ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) pokretački program;// Pokretanje aplikacijedriver.get ("http://demo.guru99.com/test/guru99home/");// Ovo će pomicati web stranicu do kraja.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}
Opis skripte: U gornjem kodu prvo pokrećemo zadani url u pregledniku Chrome. Zatim pomaknite se do dna stranice. Javascript metoda scrollTo () pomicanje do kraja stranice.
js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");
"document.body.scrollHeight" vraća potpunu visinu tijela, odnosno web stranice.
Analiza rezultata: Ovo je izlaz kad izvršite gornju skriptu.
Scenarij 4: vodoravno pomicanje na web stranici.
Scenarij selena
uvoz org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecutor;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.WebElement;uvoz org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;javna klasa HorizontalScroll {Upravljački program za WebDriver;@Testjavna praznina ScrollHorizontally () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");upravljački program = novi ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) pokretački program;// Pokretanje aplikacijedriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");WebElement Element = driver.findElement (By.linkText ("VBScript"));// Ovo će horizontalno pomicati stranicu dok se element ne pronađejs.executeScript ("argumenti [0] .scrollIntoView ();", Element);}}
Opis skripte: U gornjem kodu prvo pokrećemo zadani url u pregledniku Chrome. Dalje, pomičite stranicu vodoravno dok spomenuti element ne bude vidljiv na trenutnoj stranici. Javascript metoda scrollIntoView () pomiče stranicu dok se spomenuti element ne prikaže u cjelini:
js.executeScript ("argumenti [0] .scrollIntoView ();", Element);
Analiza rezultata: Ovo je izlaz kad izvršite gornju skriptu.
Sažetak
- U gornjem uputstvu ilustriramo pomicanje web stranice kroz različite scenarije.
- U prvom smo scenariju prikazali pomicanje prema dolje po stranici po pikselu.
- U drugom scenariju prikazali smo pomicanje stranice do vidljivosti elementa.
- U trećem smo scenariju prikazali pomicanje stranice na dnu stranice.
- U četvrtom scenariju ilustriran je vodoravni pomak na web stranici.