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.