Hogyan görgethet le vagy fel egy oldalt a Selenium Webdriver programban

Tartalomjegyzék:

Anonim

Mi az a görgetősáv?

A görgetősáv segítségével vízszintesen vagy függőlegesen mozoghat a képernyőn, ha az aktuális oldalgörgetés nem felel meg a képernyő látható területének. Az ablak felfelé és lefelé mozgatására szolgál.

A Selenium Webdriver nem igényel görgetést a műveletek végrehajtásához, mivel a DOM-ot manipulálja. Bizonyos weboldalakon azonban az elemek csak akkor jelennek meg, ha a felhasználó hozzájuk görgetett. Ilyen esetekben görgetésre lehet szükség.

A görgetősáv kétféle típusú: Vízszintes és függőleges görgetősáv, az alábbi képernyőképen látható módon.

Görgessen a szelénbe

A Selenium használatával történő görgetéshez használhatja a JavaScriptExecutor felületet, amely segíti a JavaScript módszerek végrehajtását a Selenium Webdriver segítségével

További információ a JavaScriptExecutorról

Szintaxis:

JavascriptExecutor js = (JavascriptExecutor) illesztőprogram;js.executeScript (Script, Argumentumok);
  • Szkript - Ez az a JavaScript, amelyet végre kell hajtani.
  • Érvek - A szkript érvei. Nem kötelező.

Selenium Script az oldal lefelé görgetéséhez

Lássuk, görgessen lefelé egy weboldalt a szelén web meghajtóval a következő 3 forgatókönyv szerint:

  • 1. forgatókönyv: A weboldal lefelé görgetése pixelenként.
  • 2. forgatókönyv: A weboldal lefelé görgetése az elem láthatósága alapján.
  • 3. forgatókönyv: A weblap lefelé görgetése az oldal alján.
  • 4. forgatókönyv: Vízszintes görgetés a weboldalon.

1. forgatókönyv: A weboldal lefelé görgetése pixelenként.

Szelén szkript

import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;nyilvános osztály ScrollByPixel {WebDriver illesztőprogram;@Tesztpublic void ByPixel () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");illesztőprogram = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) illesztőprogram;// Indítsa el az alkalmazástdriver.get ("http://demo.guru99.com/test/guru99home/");// Az ablak maximalizálása. Előfordulhat, hogy ez a kód nem működik a Selenium 3 edényekkel. Ha a szkript nem sikerül, eltávolíthatja az alábbi sortdriver.manage (). window (). maximize ();// Ez függőlegesen 1000 pixelrel görgeti az oldaltjs.executeScript ("window.scrollBy (0,1000)");}}

Szkript leírása : A fenti kódban először elindítjuk a megadott URL-t a Chrome böngészőben. Ezután görgesse az oldalt 1000 képponttal az executeScript segítségével. Javascript módszer A ScrollBy () a weblapot a megadott pixelszámhoz görgeti.

A ScrollBy () metódusok szintaxisa:

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

Az x-pixel az x-tengelyen lévő szám, balra mozog, ha a szám pozitív, és jobbra mozog, ha a szám negatív. y-pixel az y-tengelyen lévő szám, lefelé mozog, ha a szám pozitív, és felfelé halad, ha a szám negatív.

Példa:

js.executeScript ("window.scrollBy (0,1000)"); // Görgessen függőlegesen lefelé 1000 képponttal 

Kimeneti elemzés: Itt van a kimenet a fenti parancsfájl végrehajtásakor.

2. forgatókönyv: A weboldal lefelé görgetése az elem láthatósága alapján.

Szelén szkript

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;nyilvános osztály ScrollByVisibleElement {WebDriver illesztőprogram;@Tesztpublic void ByVisibleElement () {System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");illesztőprogram = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) illesztőprogram;// Indítsa el az alkalmazástdriver.get ("http://demo.guru99.com/test/guru99home/");// Keresse meg az elemet a link szövege alapján, és tárolja az "Element" változóbanWebElement Element = driver.findElement (By.linkText ("Linux"));// Ez addig görgeti az oldalt, amíg az elem megtalálhatójs.executeScript ("argumentumok [0] .scrollIntoView ();", Element);}}

Szkript leírása: A fenti kódban először elindítjuk a megadott URL-t a Chrome böngészőben. Ezután görgesse az oldalt, amíg az említett elem meg nem jelenik az aktuális oldalon. Javascript metódus scrollIntoView () addig görgeti az oldalt, amíg az említett elem teljes nézetben nem lesz:

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

"argumentumok [0]" az oldal 0-tól kezdődő első indexét jelenti.

Ahol az "Element" a weboldal helymeghatározója.

Kimeneti elemzés: Itt van a kimenet a fenti parancsfájl végrehajtásakor.

3. forgatókönyv: A weblap lefelé görgetése az oldal alján.

Szelén szkript

import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;nyilvános osztály ScrollByPage {WebDriver illesztőprogram;@Tesztpublic void ByPage () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");illesztőprogram = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) illesztőprogram;// Indítsa el az alkalmazástdriver.get ("http://demo.guru99.com/test/guru99home/");// Ez végig görgeti a weboldalt.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}

Szkript leírása: A fenti kódban először elindítjuk a megadott URL-t a Chrome böngészőben. Ezután görgessen az oldal aljáig. Javascript metódus görgetés A () görgetés az oldal végéig.

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

A "document.body.scrollHeight" a törzs, azaz a weboldal teljes magasságát adja vissza.

Kimeneti elemzés: Itt van a kimenet, amikor végrehajtja a fenti parancsfájlt.

4. forgatókönyv: Vízszintes görgetés a weboldalon.

Szelén szkript

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;nyilvános osztály HorizontalScroll {WebDriver illesztőprogram;@Tesztpublic void ScrollHorizontally () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");illesztőprogram = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) illesztőprogram;// Indítsa el az alkalmazástdriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");WebElement Element = driver.findElement (By.linkText ("VBScript"));// Ez vízszintesen görgeti az oldalt, amíg az elem megtalálhatójs.executeScript ("argumentumok [0] .scrollIntoView ();", Element);}}

Szkript leírása: A fenti kódban először elindítjuk a megadott URL-t a Chrome böngészőben. Ezután görgesse vízszintesen az oldalt, amíg az említett elem meg nem jelenik az aktuális oldalon. Javascript metódus scrollIntoView () addig görgeti az oldalt, amíg az említett elem teljes nézetben nem lesz:

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

Kimeneti elemzés: Itt van a kimenet, amikor végrehajtja a fenti parancsfájlt.

Összegzés

  • A fenti oktatóanyagban a weboldal görgetését mutatjuk be különböző forgatókönyveken keresztül.
  • Az első forgatókönyvben megmutattuk a görgetést oldalanként pixelenként.
  • A második forgatókönyvben az oldal lefelé görgetését mutattuk, amíg az elem láthatóvá nem vált.
  • A harmadik forgatókönyvben megmutattuk az oldal aljára görgetést az oldal alján.
  • A negyedik forgatókönyvben szemlélteti a vízszintes görgetést a weboldalon.