Čo je posúvač?
Posuvný panel umožňuje pohybovať sa po obrazovke v horizontálnom alebo vertikálnom smere, ak sa posúvač aktuálnej stránky nezmestí do viditeľnej oblasti obrazovky. Slúži na pohyb okna hore a dole.
Selénový webový ovládač nevyžaduje na vykonávanie akcií rolovanie, pretože manipuluje s DOM. Ale na určitých webových stránkach sa prvky zobrazia až potom, čo na ne používateľ prejde. V takýchto prípadoch môže byť potrebné rolovanie.
Posuvník je dvojakého typu: Horizontálny a vertikálny posuvník, ako je znázornené na obrázku nižšie.
Prejdite selén
Na posúvanie pomocou selénu môžete použiť rozhranie JavaScriptExecutor, ktoré pomáha pri vykonávaní metód JavaScriptu pomocou selénového webového ovládača.
Získajte viac informácií o aplikácii JavaScriptExecutor
Syntax:
JavascriptExecutor js = (JavascriptExecutor) ovládač;js.executeScript (skript, argumenty);
- Skript - Toto je JavaScript, ktorý je potrebné vykonať.
- Argumenty - sú to argumenty pre skript. Je to voliteľné.
Selenium Script na rolovanie stránky nižšie
Pozrime sa, ako sa posúva webová stránka nadol pomocou selenového webdrivera, a to s nasledujúcimi 3 scenármi:
- Scenár 1: Rolovanie webovej stránky nadol po pixeloch.
- Scenár 2: Posunutie webovej stránky nadol podľa viditeľnosti prvku.
- Scenár 3: Posun nadol webovej stránky v dolnej časti stránky.
- Scenár 4: Horizontálne posúvanie na webovej stránke.
Scenár 1: Rolovanie webovej stránky nadol po pixeloch.
Selénové písmo
import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;verejná trieda ScrollByPixel {Ovládač WebDriver;@Testpublic void ByPixel () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");ovládač = nový ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) ovládač;// Spustenie aplikáciedriver.get ("http://demo.guru99.com/test/guru99home/");// Maximalizácia okna. Tento kód nemusí fungovať v prípade nádob na selén 3. Ak skript zlyhá, môžete odstrániť riadok uvedený nižšiedriver.manage (). window (). maximize ();// Týmto sa stránka posunie nadol o 1 000 pixelov zvislejs.executeScript ("window.scrollBy (0,1000)");}}
Popis skriptu : Vo vyššie uvedenom kóde najskôr spustíme danú adresu URL v prehliadači Chrome. Ďalej posuňte stránku o 1 000 pixelov v jazyku executeScript. Metóda Javascript ScrollBy () posúva webovú stránku na konkrétny počet pixelov.
Syntax metód ScrollBy () je:
executeScript ("window.scrollBy (x-pixelov, y-pixelov)");
x-pixels je číslo na osi x, pohybuje sa doľava, ak je číslo kladné a posúva sa doprava, ak je číslo záporné. y-pixels je číslo na osi y, posúva nadol, ak je číslo kladné a posunie sa nahor, ak je číslo záporné.
Príklad:
js.executeScript ("window.scrollBy (0,1000)"); // Posun vertikálne nadol o 1 000 pixelov
Analýza výstupu: Tu je výstup, keď vykonáte vyššie uvedený skript.
Scenár 2: Posunutie webovej stránky nadol podľa viditeľnosti prvku.
Selénové písmo
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;verejná trieda ScrollByVisibleElement {Ovládač WebDriver;@Testpublic void ByVisibleElement () {System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");ovládač = nový ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) ovládač;// Spustenie aplikáciedriver.get ("http://demo.guru99.com/test/guru99home/");// Vyhľadajte prvok podľa textu odkazu a uložte do premennej „Element“WebElement Element = driver.findElement (By.linkText ("Linux"));// Týmto sa stránka posunie, kým sa nenájde prvokjs.executeScript ("argumenty [0] .scrollIntoView ();", element);}}
Popis skriptu: Vo vyššie uvedenom kóde najskôr uvedenú adresu URL spustíme v prehliadači Chrome. Ďalej posuňte stránku, kým sa uvedený prvok nezobrazí na aktuálnej stránke. Metóda Javascript scrollIntoView () posúva stránku, kým nebude uvedený prvok v plnom zobrazení:
js.executeScript ("argumenty [0] .scrollIntoView ();", prvok);
„argumenty [0]“ znamenajú prvý index stránky začínajúci na 0.
Kde je „Element“ vyhľadávačom na webovej stránke.
Analýza výstupu: Tu je výstup, keď vykonáte vyššie uvedený skript.
Scenár 3: Posun nadol webovej stránky v dolnej časti stránky.
Selénové písmo
import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;verejná trieda ScrollByPage {Ovládač WebDriver;@Testpublic void ByPage () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");ovládač = nový ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) ovládač;// Spustenie aplikáciedriver.get ("http://demo.guru99.com/test/guru99home/");// Týmto sa bude webová stránka posúvať až do konca.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}
Popis skriptu: Vo vyššie uvedenom kóde najskôr uvedenú adresu URL spustíme v prehliadači Chrome. Ďalej posuňte zobrazenie do dolnej časti stránky. Metóda Javascript scrollTo () posuňte sa až na koniec stránky.
js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");
„document.body.scrollHeight“ vráti celú výšku tela, tj. webovú stránku.
Analýza výstupu: Tu je výstup, keď vykonáte vyššie uvedený skript.
Scenár 4: Horizontálne posúvanie na webovej stránke.
Selénové písmo
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;verejná trieda HorizontalScroll {Ovládač WebDriver;@Testpublic void ScrollHorizontally () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");ovládač = nový ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) ovládač;// Spustenie aplikáciedriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");WebElement Element = driver.findElement (By.linkText ("VBScript"));// Týmto sa stránka posúva vodorovne, kým sa nenájde prvokjs.executeScript ("argumenty [0] .scrollIntoView ();", element);}}
Popis skriptu: Vo vyššie uvedenom kóde najskôr uvedenú adresu URL spustíme v prehliadači Chrome. Ďalej posuňte stránku vodorovne, kým sa uvedený prvok nezobrazí na aktuálnej stránke. Metóda Javascript scrollIntoView () posúva stránku, kým nebude uvedený prvok v plnom zobrazení:
js.executeScript ("argumenty [0] .scrollIntoView ();", prvok);
Analýza výstupu: Tu je výstup, keď vykonáte vyššie uvedený skript.
Zhrnutie
- Vo vyššie uvedenom návode ilustrujeme posúvanie webovej stránky rôznymi scenármi.
- V prvom scenári sme ukázali rolovanie nadol na stránke po pixeloch.
- V druhom scenári sme ukázali zvitok nadol po stránke, kým nebude viditeľný prvok.
- V treťom scenári sme si v dolnej časti stránky ukázali rolovanie nadol po stránke.
- Vo štvrtom scenári je znázornené vodorovné posúvanie na webovej stránke.