Co je posuvník?
Posuvník je nástroj, který vám umožní pohybovat se po obrazovce ve vodorovném nebo svislém směru, pokud se aktuální posouvání stránky nevejde do viditelné oblasti obrazovky. Slouží k pohybu okna nahoru a dolů.
Selénový webový ovladač nevyžaduje k provádění akcí při manipulaci s DOMem svitek. Na určitých webových stránkách se ale prvky stanou viditelnými až poté, co na ně uživatel přejde. V takových případech může být nutné rolování.
Posuvník je dvou typů: Horizontální a vertikální posuvník, jak je znázorněno na následujícím snímku obrazovky.
Posuňte selen
Chcete-li procházet pomocí selenu, můžete použít rozhraní JavaScriptExecutor, které pomáhá spouštět metody JavaScriptu pomocí selenového webového ovladače
Další informace o JavaScriptExecutor
Syntaxe:
JavascriptExecutor js = (JavascriptExecutor) ovladač;js.executeScript (skript, argumenty);
- Skript - Toto je JavaScript, který je třeba spustit.
- Argumenty - Jedná se o argumenty ke skriptu. Je to volitelné.
Selenium Script pro posunutí stránky dolů
Podívejme se na posouvání webové stránky dolů pomocí selenového webdriveru s následujícími 3 scénáři:
- Scénář 1: Posouvání webové stránky dolů po pixelech.
- Scénář 2: Posunutí webové stránky dolů podle viditelnosti prvku.
- Scénář 3: Posun dolů na webové stránce v dolní části stránky.
- Scénář 4: Horizontální posouvání na webové stránce.
Scénář 1: Posouvání webové stránky dolů po pixelech.
Selenový skript
import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;veřejná třída ScrollByPixel {Ovladač WebDriver;@Testpublic void ByPixel () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) ovladač;// Spusťte aplikacidriver.get ("http://demo.guru99.com/test/guru99home/");// Maximalizace okna. Tento kód nemusí fungovat se sklenicemi selenem 3. Pokud skript selže, můžete řádek níže odebratdriver.manage (). window (). maximize ();// Tím se stránka posune dolů o 1000 pixelů svislejs.executeScript ("window.scrollBy (0,1000)");}}
Popis skriptu : Ve výše uvedeném kódu nejprve spustíme danou adresu URL v prohlížeči Chrome. Dále posouvejte stránku o 1 000 pixelů v programu executeScript. Metoda Javascript ScrollBy () posouvá webovou stránku na konkrétní počet pixelů.
Syntaxe metod ScrollBy () je:
executeScript ("window.scrollBy (x-pixely, y-pixely)");
x-pixely je číslo na ose x, pohybuje se doleva, pokud je číslo kladné a pohybuje se doprava, pokud je číslo záporné. y-pixely je číslo na ose y, pohybuje se dolů, pokud je číslo kladné a přesune se nahoru, pokud je číslo záporné.
Příklad:
js.executeScript ("window.scrollBy (0,1000)"); // Posouvá svisle dolů o 1 000 pixelů
Analýza výstupu: Zde je výstup při spuštění výše uvedeného skriptu.
Scénář 2: Posunutí webové stránky dolů podle viditelnosti prvku.
Selenový skript
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;veřejná třída ScrollByVisibleElement {Ovladač WebDriver;@Testpublic void ByVisibleElement () {System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");driver = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) ovladač;// Spusťte aplikacidriver.get ("http://demo.guru99.com/test/guru99home/");// Najděte prvek podle textu odkazu a uložte jej do proměnné „Element“WebElement Element = driver.findElement (By.linkText ("Linux"));// Tím se stránka posouvá, dokud není prvek nalezenjs.executeScript ("argumenty [0] .scrollIntoView ();", prvek);}}
Popis skriptu: Ve výše uvedeném kódu nejprve spustíme danou adresu URL v prohlížeči Chrome. Dále posouvejte stránku, dokud se uvedený prvek nezobrazí na aktuální stránce. Metoda Javascript scrollIntoView () posouvá stránku, dokud nebude uvedený prvek v plném zobrazení:
js.executeScript ("argumenty [0] .scrollIntoView ();", prvek);
"argumenty [0]" znamená první index stránky začínající na 0.
Kde „Element“ je vyhledávač na webové stránce.
Analýza výstupu: Zde je výstup při spuštění výše uvedeného skriptu.
Scénář 3: Posun dolů na webové stránce v dolní části stránky.
Selenový skript
import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;veřejná třída ScrollByPage {Ovladač WebDriver;@Testpublic void ByPage () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) ovladač;// Spusťte aplikacidriver.get ("http://demo.guru99.com/test/guru99home/");// Tím se webová stránka posouvá až do konce.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}
Popis skriptu: Ve výše uvedeném kódu nejprve spustíme danou adresu URL v prohlížeči Chrome. Dále přejděte do dolní části stránky. Metoda Javascript scrollTo () posouvá až na konec stránky.
js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");
"document.body.scrollHeight" vrací celou výšku těla, tj. webovou stránku.
Analýza výstupu: Zde je výstup při spuštění výše uvedeného skriptu.
Scénář 4: Horizontální posouvání na webové stránce.
Selenový skript
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;veřejná třída HorizontalScroll {Ovladač WebDriver;@Testpublic void ScrollHorizontally () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) ovladač;// Spusťte aplikacidriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");WebElement Element = driver.findElement (By.linkText ("VBScript"));// Tím se stránka posouvá vodorovně, dokud není prvek nalezenjs.executeScript ("argumenty [0] .scrollIntoView ();", prvek);}}
Popis skriptu: Ve výše uvedeném kódu nejprve spustíme danou adresu URL v prohlížeči Chrome. Dále posouvejte stránku vodorovně, dokud nebude na aktuální stránce viditelný uvedený prvek. Metoda Javascript scrollIntoView () posouvá stránku, dokud nebude uvedený prvek v plném zobrazení:
js.executeScript ("argumenty [0] .scrollIntoView ();", prvek);
Analýza výstupu: Zde je výstup při spuštění výše uvedeného skriptu.
souhrn
- Ve výše uvedeném tutoriálu ilustrujeme posouvání webové stránky různými scénáři.
- V prvním scénáři jsme ukázali posouvání dolů na stránce po pixelech.
- Ve druhém scénáři jsme ukázali posouvání stránky dolů, dokud není viditelný prvek.
- Ve třetím scénáři jsme ukázali posunutí stránky dolů v dolní části stránky.
- Ve čtvrtém scénáři je znázorněn vodorovný posuv na webové stránce.