Kako pomicati stranicu prema dolje ili prema gore Selenium Webdriver

โšก Pametni saลพetak

Pomicanje stranice unutra Selenium WebDriver koristi JavascriptIzvrลกno suฤelje za pokretanje JavaNaredbe za pomicanje skripte, jer WebDriver izravno manipulira DOM-om. ฤŒetiri praktiฤna scenarija pokrivaju pomicanje po pikselu, do elementa, do dna stranice i horizontalno.

  • ๐Ÿ“œ JavascriptIzvrลกitelj: Izvodi JavaNaredbe za pomicanje skripte Selenium WebDriver.
  • ๐Ÿ”ข Pomicanje po pikselu: window.scrollBy(x,y) pomiฤe stranicu za zadani broj piksela.
  • ๐ŸŽฏ Pomakni se do elementa: scrollIntoView() pomiฤe se dok ciljni element ne postane potpuno vidljiv.
  • โฌ‡๏ธ Pomaknite se do dna: scrollTo s document.body.scrollHeight doseลพe kraj stranice.
  • โ†”๏ธ Horizontalno pomicanje: scrollIntoView se takoฤ‘er pomiฤe boฤno na elemente izvan zaslona.
  • ๐Ÿงญ Osnove trake za pomicanje: Pomicanjem se otkrivaju elementi koji se uฤitavaju samo kada uฤ‘u u prikaz.

Pomaknite se prema dolje ili gore po stranici Selenium webdriver

Pomaknite se Selenium

Za pomicanje pomoฤ‡u Selenium, Moลพete koristiti JavaScriptExecutor suฤelje koje pomaลพe u izvrลกenju JavaMetode skripte kroz Selenium Webdriver

Sintaksa:

JavascriptExecutor js = (JavascriptExecutor) driver;  
   js.executeScript(Script,Arguments);
  • Skripta โ€“ Ovo je JavaSkripta koja se treba izvrลกiti.
  • Argumenti โ€“ To su argumenti za scenarij. Nije obavezno.

ล to je traka za pomicanje?

Traka za pomicanje omoguฤ‡uje vam kretanje po zaslonu u vodoravnom ili okomitom smjeru ako pomicanje trenutne stranice ne stane u vidljivo podruฤje zaslona. Koristi se za pomicanje prozora gore-dolje.

Selenium Webdriver ne zahtijeva pomicanje za izvoฤ‘enje radnji jer manipulira DOM-om. Ali na odreฤ‘enim web-stranicama elementi postaju vidljivi tek nakon ลกto se korisnik pomakne do njih. U takvim sluฤajevima moลพe biti potrebno pomicanje.

Traka za pomicanje je dvije vrste: Vodoravan i vertikalna traku za pomicanje kao ลกto je prikazano na slici ispod.

pomicanje

pomicanje

Selenium Skripta za pomicanje stranice prema dolje

Pogledajmo pomicanje web stranice prema dolje pomoฤ‡u selenium webdrivera sa sljedeฤ‡a 4 scenarija:

  • Scenarij 1: Za pomicanje web stranice prema dolje po piksel.
  • Scenarij 2: Pomicanje web-stranice prema dolje prema vidljivosti elementa.
  • Scenarij 3: Za pomicanje web stranice prema dolje na dnu stranice.
  • Scenarij 4: Horizontalno pomicanje na web stranici.

Scenarij 1: Za pomicanje web stranice prema dolje po piksel.

Selenium Script

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByPixel {

    WebDriver driver;
    @Test
    public void ByPixel() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("https://demo.guru99.com/test/guru99home/");

        //To maximize the window. This code may not work with Selenium 3 jars. If script fails you can remove the line below		
        driver.manage().window().maximize();

        // This  will scroll down the page by  1000 pixel vertical		
        js.executeScript("window.scrollBy(0,1000)");
    }
}

Script DescriptionU gornjem kodu prvo pokreฤ‡emo zadano URL u pregledniku Chrome. Zatim pomaknite stranicu za 1000 piksela pomoฤ‡u executeScript. Javascript metoda ScrollBy() pomiฤe web stranicu do odreฤ‘enog broja piksela.

Sintaksa metoda ScrollBy() je:

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

x-pikseli su broj na x-osi, pomiฤu se ulijevo ako je broj pozitivan i pomiฤu se udesno ako je broj negativan. y-pikseli su broj na y-osi, pomiฤu se prema dolje ako je broj pozitivan i pomiฤe se prema gore ako je broj negativan.

Primjer:

js.executeScript("window.scrollBy(0,1000)"); //Scroll vertically down by 1000 pixels

Analiza izlaza: Ovo je rezultat kada izvrลกite gornju skriptu.

Pomiฤite web-stranicu prema dolje prema pikselu

Scenarij 2: Pomicanje web-stranice prema dolje prema vidljivosti elementa.

Selenium Script

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByVisibleElement {

    WebDriver driver;
    @Test
    public void ByVisibleElement() {
        System.setProperty("webdriver.chrome.driver", "G://chromedriver.exe");
        driver = new ChromeDriver();
        JavascriptExecutor js = (JavascriptExecutor) driver;

        //Launch the application		
        driver.get("https://demo.guru99.com/test/guru99home/");

        //Find element by link text and store in variable "Element"        		
        WebElement Element = driver.findElement(By.linkText("Linux"));

        //This will scroll the page till the element is found		
        js.executeScript("arguments[0].scrollIntoView();", Element);
    }
}

Script Description: U gornjem kodu prvo pokreฤ‡emo dati url u pregledniku Chrome. Zatim pomiฤite stranicu sve dok spomenuti element ne bude vidljiv na trenutnoj stranici. Javascript metoda scrollIntoView() pomiฤe stranicu dok navedeni element ne bude u punom prikazu:

js.executeScript("arguments[0].scrollIntoView();",Element );

โ€œargumenti[0]โ€ znaฤi prvi indeks stranice koji poฤinje s 0.

Gdje je "Element" lokator na web stranici.

Analiza izlaza: Ovo je rezultat kada izvrลกite gornju skriptu.

 Pomaknite se web-stranicom prema dolje prema vidljivosti elementa

Scenarij 3: Za pomicanje web stranice prema dolje na dnu stranice.

Selenium Script

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByPage {

    WebDriver driver;
    @Test
    public void ByPage() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("https://demo.guru99.com/test/guru99home/");

        //This will scroll the web page till end.		
        js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
    }
}

Script Description: U gornjem kodu prvo pokreฤ‡emo dati url u pregledniku Chrome. Zatim se pomaknite do dna stranice. Javascript metoda scrollTo() pomaknite se do kraja stranice.

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

โ€œdocument.body.scrollHeightโ€ vraฤ‡a kompletnu visinu tijela tj. web stranice.

Analiza izlaza: Ovo je rezultat kada izvrลกite gornju skriptu.

Pomaknite se prema dolje na web stranici na dnu stranice

Scenarij 4: Horizontalno pomicanje na web stranici

Selenium Script

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class HorizontalScroll {

    WebDriver driver;
    @Test
    public void ScrollHorizontally() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("https://demo.guru99.com/test/guru99home/scrolling.html");

        WebElement Element = driver.findElement(By.linkText("VBScript"));

        //This will scroll the page Horizontally till the element is found		
        js.executeScript("arguments[0].scrollIntoView();", Element);
    }
}

Script Description: U gornjem kodu prvo pokreฤ‡emo dati url u pregledniku Chrome. Zatim pomiฤite stranicu vodoravno dok navedeni element ne bude vidljiv na trenutnoj stranici. Javascript metoda scrollIntoView() pomiฤe stranicu dok navedeni element ne bude u punom prikazu:

js.executeScript("arguments[0].scrollIntoView();",Element );

Analiza izlaza: Ovo je rezultat kada izvrลกite gornju skriptu.

Horizontalno pomicanje na web stranici

Saznajte viลกe o JavaScriptExecutor

Pitanja i odgovori

Koristite negativnu vrijednost piksela s window.scrollBy, na primjer js.executeScript s window.scrollBy(0,-1000). Negativna y-vrijednost pomiฤe stranicu prema gore, suprotno od pozitivne vrijednosti koja pomiฤe stranicu prema dolje.

Da. Elementu moลพete poslati tipke Keys.PAGE_DOWN, Keys.END ili tipke sa strelicama ili koristiti klasu Actions u Selenium 4. JavascriptIzvrลกitelj ostaje najfleksibilnija opcija.

Preglednici biljeลพe samo vidljivi prikaz, pa se skripte pomiฤu kroz stranicu, biljeลพe dijelove i spajaju ih. Pomicanje takoฤ‘er pokreฤ‡e slike i sadrลพaj koji se uฤitavaju s postupnim pomicanjem prije snimke zaslona.

Da. AI asistenti iz obiฤnih instrukcija izraฤ‘uju isjeฤke scrollBy, scrollIntoView i scrollTo te objaลกnjavaju matematiku piksela. Revpregledajte lokatore i uvjete ฤekanja prije nego ลกto ih pokrenete u svom apartmanu.

Alati temeljeni na umjetnoj inteligenciji otkrivaju kada se novi sadrลพaj prestane uฤitavati, dinamiฤki prilagoฤ‘avaju dubinu pomicanja i inteligentno ฤekaju elemente. To automatizira testiranje feedova s โ€‹โ€‹beskonaฤnim pomicanjem bez ugraฤ‘enog broja piksela.

scrollBy pomiฤe stranicu fiksni broj piksela od trenutne pozicije. scrollIntoView pomiฤe stranicu dok odreฤ‘eni element ne postane vidljiv. Koristite scrollBy za udaljenost i scrollIntoView za ciljanje elemenata.

Saลพmite ovu objavu uz: