Kaip slinkti žemyn arba aukštyn „Selenium Webdriver“ puslapyje

Turinys:

Anonim

Kas yra slinkties juosta?

Slinkties juosta leidžia judėti ekrane horizontaliai arba vertikaliai, jei dabartinis puslapio slinkimas neatitinka matomos ekrano srities. Jis naudojamas langui judinti aukštyn ir žemyn.

„Selenium Webdriver“ nereikia slinkti norint atlikti veiksmus, nes jis manipuliuoja DOM. Tačiau tam tikruose tinklalapiuose elementai tampa matomi tik tada, kai vartotojas pereina prie jų. Tokiais atvejais gali tekti slinkti.

Slinkties juosta yra dviejų tipų: horizontali ir vertikali slinkties juosta, kaip parodyta žemiau esančiame ekrano kopijoje.

Slinkite selene

Norėdami slinkti naudodami „Selenium“, galite naudoti „JavaScriptExecutor“ sąsają, kuri padeda vykdyti „JavaScript“ metodus per „Selenium Webdriver“

Sužinokite daugiau apie „JavaScriptExecutor“

Sintaksė:

„JavascriptExecutor“ js = („JavascriptExecutor“) tvarkyklė;js.executeScript (scenarijus, argumentai);
  • Scenarijus - tai yra „JavaScript“, kurį reikia vykdyti.
  • Argumentai - tai scenarijaus argumentai. Tai neprivaloma.

„Selenium Script“, jei norite slinkti žemyn

Pažiūrėkime, slinkite žemyn tinklalapį naudodami seleno žiniatinklio tvarkyklę su tokiais 3 atvejais:

  • 1 scenarijus: norėdami slinkti žemyn tinklalapiu po pikselius.
  • 2 scenarijus: norėdami slinkti tinklalapį žemyn pagal elemento matomumą.
  • 3 scenarijus: norėdami slinkti žemyn tinklalapiu puslapio apačioje.
  • 4 scenarijus: horizontalus slinkimas tinklalapyje.

1 scenarijus: norėdami slinkti žemyn tinklalapiu po pikselius.

Seleno scenarijus

importuoti org.openqa.selenium.JavascriptExecutor;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.chrome.ChromeDriver;importuoti org.testng.annotations.Test;viešoji klasė „ScrollByPixel“„WebDriver“ tvarkyklė;@Testpublic void ByPixel () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");tvarkyklė = naujas „ChromeDriver“ ();„JavascriptExecutor“ js = („JavascriptExecutor“) tvarkyklė;// Paleiskite programądriver.get ("http://demo.guru99.com/test/guru99home/");// Norėdami padidinti langą. Šis kodas gali neveikti su „Selenium 3“ stiklainiais. Jei scenarijus nepavyksta, galite pašalinti žemiau esančią eilutęvairuotojas.tvarkyti (). langas (). padidinti ();// Tai slinks žemyn puslapį 1000 pikselių vertikaliaijs.executeScript ("window.scrollBy (0,1000)");}}

Scenarijaus aprašymas : Pirmiau pateiktame kode pirmiausia paleidžiame nurodytą URL „Chrome“ naršyklėje. Tada slinkite puslapį 1000 taškų per „executeScript“. „Javascript“ metodas „ScrollBy“ () slenka tinklalapį iki konkretaus taškų skaičiaus.

Metodų „ScrollBy ()“ sintaksė yra:

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

x pikseliai yra skaičius x ašyje, jis juda į kairę, jei skaičius yra teigiamas, ir juda į dešinę, jei skaičius yra neigiamas. y pikseliai yra skaičius y ašyje, jis juda žemyn, jei skaičius yra teigiamas ir juda į viršų, jei skaičius yra neigiamas.

Pavyzdys:

js.executeScript ("window.scrollBy (0,1000)"); // Slinkite vertikaliai žemyn 1000 taškų 

Rezultatų analizė: čia yra išvestis, kai vykdote pirmiau pateiktą scenarijų.

2 scenarijus: norėdami slinkti tinklalapį žemyn pagal elemento matomumą.

Seleno scenarijus

importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.JavascriptExecutor;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.WebElement;importuoti org.openqa.selenium.chrome.ChromeDriver;importuoti org.testng.annotations.Test;viešoji klasė „ScrollByVisibleElement“„WebDriver“ tvarkyklė;@Testpublic void ByVisibleElement () {System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");tvarkyklė = naujas „ChromeDriver“ ();„JavascriptExecutor“ js = („JavascriptExecutor“) tvarkyklė;// Paleiskite programądriver.get ("http://demo.guru99.com/test/guru99home/");// Raskite elementą pagal nuorodos tekstą ir išsaugokite kintamajame „Element“„WebElement Element“ = driver.findElement (By.linkText („Linux“));// Tai slinks puslapį, kol bus rastas elementasjs.executeScript ("argumentai [0] .scrollIntoView ();", Elementas);}}

Scenarijaus aprašymas: aukščiau pateiktame kode pirmiausia paleidžiame nurodytą URL „Chrome“ naršyklėje. Tada slinkite puslapį tol, kol minimas elementas bus matomas dabartiniame puslapyje. „Javascript“ metodas „scrollIntoView“ () slenka puslapį, kol minėtas elementas bus rodomas pilnai:

js.executeScript ("argumentai [0] .scrollIntoView ();", Elementas); 

"argumentai [0]" reiškia pirmąjį puslapio indeksą, prasidedantį 0.

Kur „Elementas“ yra tinklalapio lokatorius.

Rezultatų analizė: čia yra išvestis, kai vykdote pirmiau pateiktą scenarijų.

3 scenarijus: norėdami slinkti žemyn tinklalapiu puslapio apačioje.

Seleno scenarijus

importuoti org.openqa.selenium.JavascriptExecutor;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.chrome.ChromeDriver;importuoti org.testng.annotations.Test;viešoji klasė „ScrollByPage“„WebDriver“ tvarkyklė;@Testpublic void ByPage () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");tvarkyklė = naujas „ChromeDriver“ ();„JavascriptExecutor“ js = („JavascriptExecutor“) tvarkyklė;// Paleiskite programądriver.get ("http://demo.guru99.com/test/guru99home/");// Tai slinks tinklalapį iki pabaigos.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}

Scenarijaus aprašymas: aukščiau pateiktame kode pirmiausia paleidžiame nurodytą URL „Chrome“ naršyklėje. Tada slinkite iki puslapio apačios. „(„ Javascript “metodo slinkimas) () slinkite iki puslapio pabaigos.

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

"document.body.scrollHeight" pateikia visą kūno, ty tinklalapio, aukštį.

Rezultatų analizė: čia yra išvestis, kai vykdote pirmiau pateiktą scenarijų.

4 scenarijus: horizontalus slinkimas tinklalapyje.

Seleno scenarijus

importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.JavascriptExecutor;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.WebElement;importuoti org.openqa.selenium.chrome.ChromeDriver;importuoti org.testng.annotations.Test;viešoji klasė „HorizontalScroll“ {„WebDriver“ tvarkyklė;@Testpublic void ScrollHorizontally () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");tvarkyklė = naujas „ChromeDriver“ ();„JavascriptExecutor“ js = („JavascriptExecutor“) tvarkyklė;// Paleiskite programądriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");„WebElement“ elementas = driver.findElement (By.linkText („VBScript“));// Tai slinks puslapį horizontaliai, kol bus rastas elementasjs.executeScript ("argumentai [0] .scrollIntoView ();", Elementas);}}

Scenarijaus aprašymas: aukščiau pateiktame kode pirmiausia paleidžiame nurodytą URL „Chrome“ naršyklėje. Tada slinkite puslapį horizontaliai, kol minimas elementas bus matomas dabartiniame puslapyje. „Javascript“ metodas „scrollIntoView“ () slenka puslapį, kol minėtas elementas bus rodomas pilnai:

js.executeScript ("argumentai [0] .scrollIntoView ();", Elementas);

Rezultatų analizė: čia yra išvestis, kai vykdote pirmiau pateiktą scenarijų.

Santrauka

  • Pirmiau pateiktoje pamokoje iliustruojame tinklalapio slinkimą per skirtingus scenarijus.
  • Pagal pirmąjį scenarijų mes rodėme slinkimą žemyn puslapyje po pikselį.
  • Antruoju scenarijumi rodėme puslapio slinkimą žemyn, kol bus matomas elementas.
  • Pagal trečiąjį scenarijų mes parodėme slinkimą puslapio apačioje puslapio apačioje.
  • Ketvirtajame scenarijuje pavaizduotas horizontalus slinkimas tinklalapyje.