Jak posouvat stránku dolů nebo NAHORU v selenovém webdriveru

Obsah:

Anonim

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.