Kuinka vierittää sivua alas tai ylös Selenium Webdriver -sovelluksessa

Sisällysluettelo:

Anonim

Mikä on vierityspalkki?

Vierityspalkin avulla voit liikkua näytössä vaaka- tai pystysuunnassa, jos nykyinen sivun vieritys ei sovi näytön näkyvälle alueelle. Sitä käytetään ikkunan siirtämiseen ylös ja alas.

Selenium Webdriver ei vaadi selausta toimintojen suorittamiseen, koska se manipuloi DOM: ää. Tietyillä verkkosivuilla elementit tulevat näkyviin vasta, kun käyttäjä on vierittänyt niitä. Tällaisissa tapauksissa vieritys voi olla tarpeen.

Vierityspalkki on kahden tyyppinen: Vaaka- ja pystysuuntainen vierityspalkki alla olevan kuvakaappauksen mukaisesti.

Selaa seleeniä

Voit selata Seleniumia käyttämällä JavaScriptExecutor-käyttöliittymää, joka auttaa suorittamaan JavaScript-menetelmiä Selenium Webdriverin kautta

Lisätietoja JavaScriptExecutorista

Syntaksi :

JavascriptExecutor js = (JavascriptExecutor) -ohjain;js.executeScript (komentosarja, argumentit);
  • Skripti - Tämä on suoritettava JavaScript.
  • Argumentit - Ne ovat komentosarjan argumentit. Se on valinnainen.

Selenium Script vierittääksesi sivua alaspäin

Katsotaanpa, selaa verkkosivua alaspäin selenium-verkko-ohjaimella seuraavilla 3 skenaariolla:

  • Skenaario 1: Vieritä verkkosivua pikselittäin.
  • Skenaario 2: Vieritä web-sivua alaspäin elementin näkyvyyden mukaan.
  • Skenaario 3: Vieritä alaspäin verkkosivua sivun alaosassa.
  • Skenaario 4: Vieritä vaakasuunnassa verkkosivua.

Skenaario 1: Vieritä verkkosivua pikselittäin.

Seleeni-skripti

tuo org.openqa.selenium.JavascriptExecutor;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.chrome.ChromeDriver;tuo org.testng.annotations.Test;julkinen luokka ScrollByPixel {WebDriver-ohjain;@Testatapublic void ByPixel () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");ohjain = uusi ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) -ohjain;// Käynnistä sovellusdriver.get ("http://demo.guru99.com/test/guru99home/");// Ikkunan maksimoimiseksi. Tämä koodi ei välttämättä toimi Selenium 3 -purkkien kanssa. Jos komentosarja epäonnistuu, voit poistaa alla olevan rivinohjain.hallinta (). ikkuna (). maksimoi ();// Tämä vierittää sivua alaspäin 1000 pikseliä pystysuunnassajs.executeScript ("window.scrollBy (0,1000)");}}

Komentosarjan kuvaus : Edellä olevassa koodissa käynnistämme ensin annetun URL-osoitteen Chrome-selaimessa. Vieritä seuraavaksi sivua 1000 pikselillä executeScriptin läpi. Javascript-menetelmä ScrollBy () vierittää verkkosivun tiettyyn pikselimäärään.

ScrollBy () -menetelmien syntaksi on:

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

x-pikseli on numero x-akselilla, se liikkuu vasemmalle, jos luku on positiivinen, ja se liikkuu oikealle, jos luku on negatiivinen. y-pikseli on numero y-akselilla, se siirtyy alaspäin, jos numero on positiivinen ja se siirtyy ylöspäin, jos luku on negatiivinen.

Esimerkki:

js.executeScript ("window.scrollBy (0,1000)"); // Vieritä pystysuunnassa 1000 pikseliä alaspäin 

Tulosanalyysi: Tässä on tulos, kun suoritat yllä olevan komentosarjan.

Skenaario 2: Vieritä web-sivua alaspäin elementin näkyvyyden mukaan.

Seleeni-skripti

tuo org.openqa.selenium.By;tuo org.openqa.selenium.JavascriptExecutor;tuo org.openqa.selenium.WebDriver;tuonti org.openqa.selenium.WebElement;tuo org.openqa.selenium.chrome.ChromeDriver;tuo org.testng.annotations.Test;julkinen luokka ScrollByVisibleElement {WebDriver-ohjain;@Testatapublic void ByVisibleElement () {System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");ohjain = uusi ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) -ohjain;// Käynnistä sovellusdriver.get ("http://demo.guru99.com/test/guru99home/");// Etsi elementti linkkitekstin avulla ja tallenna muuttujaan "Element"WebElement Element = driver.findElement (By.linkText ("Linux"));// Tämä vierittää sivua, kunnes elementti löytyyjs.executeScript ("argumentit [0] .scrollIntoView ();", Elementti);}}

Komentosarjan kuvaus: Edellä olevassa koodissa käynnistämme ensin annetun URL-osoitteen Chrome-selaimessa. Vieritä seuraavaksi sivua, kunnes mainittu elementti näkyy nykyisellä sivulla. Javascript-menetelmä scrollIntoView () vierittää sivua, kunnes mainittu elementti on koko näkymässä:

js.executeScript ("argumentit [0] .scrollIntoView ();", Elementti); 

"argumentit [0]" tarkoittaa sivun ensimmäistä hakemistoa, joka alkaa nollasta.

Missä "Elementti" on verkkosivun paikannin.

Tulosanalyysi: Tässä on tulos, kun suoritat yllä olevan komentosarjan.

Skenaario 3: Vieritä alaspäin verkkosivua sivun alaosassa.

Seleeni-skripti

tuo org.openqa.selenium.JavascriptExecutor;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.chrome.ChromeDriver;tuo org.testng.annotations.Test;julkinen luokka ScrollByPage {WebDriver-ohjain;@Testatapublic void ByPage () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");ohjain = uusi ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) -ohjain;// Käynnistä sovellusdriver.get ("http://demo.guru99.com/test/guru99home/");// Tämä vierittää verkkosivua loppuun asti.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}

Komentosarjan kuvaus: Edellä olevassa koodissa käynnistämme ensin annetun URL-osoitteen Chrome-selaimessa. Vieritä seuraavaksi sivun alaosaan. Javascript-menetelmän vieritys Voit vierittää () vierittämällä sivun loppuun.

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

"document.body.scrollHeight" palauttaa rungon eli verkkosivun koko korkeuden.

Tulosanalyysi: Tässä on tulos, kun suoritat yllä olevan komentosarjan.

Skenaario 4: Vieritä vaakasuunnassa verkkosivua.

Seleeni-skripti

tuo org.openqa.selenium.By;tuo org.openqa.selenium.JavascriptExecutor;tuo org.openqa.selenium.WebDriver;tuonti org.openqa.selenium.WebElement;tuo org.openqa.selenium.chrome.ChromeDriver;tuo org.testng.annotations.Test;julkinen luokka HorizontalScroll {WebDriver-ohjain;@Testatapublic void ScrollHorizontally () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");ohjain = uusi ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) -ohjain;// Käynnistä sovellusdriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");WebElement Element = driver.findElement (By.linkText ("VBScript"));// Tämä vierittää sivua vaakasuunnassa, kunnes elementti löytyyjs.executeScript ("argumentit [0] .scrollIntoView ();", Elementti);}}

Komentosarjan kuvaus: Edellä olevassa koodissa käynnistämme ensin annetun URL-osoitteen Chrome-selaimessa. Vieritä seuraavaksi sivua vaakasuoraan, kunnes mainittu elementti näkyy nykyisellä sivulla. Javascript-menetelmä scrollIntoView () vierittää sivua, kunnes mainittu elementti on koko näkymässä:

js.executeScript ("argumentit [0] .scrollIntoView ();", Elementti);

Tulosanalyysi: Tässä on tulos, kun suoritat yllä olevan komentosarjan.

Yhteenveto

  • Yllä olevassa opetusohjelmassa havainnollistetaan verkkosivun vieritystä eri tilanteissa.
  • Ensimmäisessä skenaariossa näytimme vierityksen alaspäin sivukohtaisesti.
  • Toisessa skenaariossa näytimme sivun vierityksen alaspäin, kunnes elementti näkyy.
  • Kolmannessa skenaariossa näytimme sivun vierityksen sivun alaosassa.
  • Neljännessä skenaariossa havainnollistaa vaakasuuntaista vieritystä verkkosivulla.