Kako se pomaknuti prema dolje ili prema gore prema stranici u programu Selenium Webdriver

Sadržaj:

Anonim

Š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.