Как да превъртите надолу или нагоре страница в Selenium Webdriver

Съдържание:

Anonim

Какво е лента за превъртане?

Лентата за превъртане ви позволява да се движите по екрана в хоризонтална или вертикална посока, ако превъртането на текущата страница не отговаря на видимата област на екрана. Използва се за преместване на прозореца нагоре и надолу.

Selenium Webdriver не изисква превъртане за извършване на действия, тъй като манипулира DOM. Но в някои уеб страници елементите стават видими едва след като потребителят превърти до тях. В такива случаи може да е необходимо превъртане.

Лентата за превъртане е от два вида: хоризонтална и вертикална лента за превъртане, както е показано на екрана по-долу.

Превъртете в Селен

За да превъртате с помощта на Selenium, можете да използвате интерфейса JavaScriptExecutor, който помага да се изпълняват JavaScript методи чрез Selenium Webdriver

Научете повече за JavaScriptExecutor

Синтаксис :

JavascriptExecutor js = (JavascriptExecutor) драйвер;js.executeScript (скрипт, аргументи);
  • Скрипт - Това е JavaScript, който трябва да се изпълни.
  • Аргументи - Това са аргументите на скрипта. Не е задължително.

Selenium Script, за да превъртите страницата надолу

Нека видим превъртането надолу на уеб страница с помощта на селеновия уеб драйвер със следните 3 сценария:

  • Сценарий 1: За да превъртите уеб страницата надолу по пиксел.
  • Сценарий 2: За да превъртите надолу уеб страницата по видимостта на елемента.
  • Сценарий 3: За да превъртите надолу уеб страницата в долната част на страницата.
  • Сценарий 4: Хоризонтално превъртане на уеб страницата.

Сценарий 1: За да превъртите уеб страницата надолу по пиксел.

Сценарий на селен

импортиране на org.openqa.selenium.JavascriptExecutor;импортиране на org.openqa.selenium.WebDriver;импортиране на org.openqa.selenium.chrome.ChromeDriver;внос org.testng.annotations.Test;публичен клас ScrollByPixel {Драйвер за WebDriver;@Тестпублична невалидност ByPixel () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");драйвер = нов ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) драйвер;// Стартиране на приложениетоdriver.get ("http://demo.guru99.com/test/guru99home/");// За максимизиране на прозореца. Този код може да не работи с буркани от селен 3. Ако скриптът не успее, можете да премахнете реда по-долуdriver.manage (). window (). maximize ();// Това ще превърти страницата надолу по вертикала от 1000 пикселаjs.executeScript ("window.scrollBy (0,1000)");}}

Описание на скрипта : В горния код първо стартираме дадения URL адрес в браузъра Chrome. След това превъртете страницата с 1000 пиксела чрез executeScript. Метод на Javascript ScrollBy () превърта уеб страницата до конкретния брой пиксели.

Синтаксисът на методите ScrollBy () е:

executeScript ("window.scrollBy (x-пиксели, y-пиксели)");

x-pixels е числото по оста x, тя се придвижва наляво, ако числото е положително и се премества надясно, ако числото е отрицателно. y-pixels е числото по оста y, премества се надолу, ако числото е положителен и се движи нагоре, ако числото е отрицателно.

Пример:

js.executeScript ("window.scrollBy (0,1000)"); // Превъртете вертикално надолу с 1000 пиксела 

Анализ на изхода: Ето резултата, когато изпълните горния скрипт.

Сценарий 2: За да превъртите надолу уеб страницата по видимостта на елемента.

Сценарий на селен

внос org.openqa.selenium.By;импортиране на org.openqa.selenium.JavascriptExecutor;импортиране на org.openqa.selenium.WebDriver;внос org.openqa.selenium.WebElement;импортиране на org.openqa.selenium.chrome.ChromeDriver;внос org.testng.annotations.Test;публичен клас ScrollByVisibleElement {Драйвер за WebDriver;@Тестпублична невалидна ByVisibleElement () {System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");драйвер = нов ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) драйвер;// Стартиране на приложениетоdriver.get ("http://demo.guru99.com/test/guru99home/");// Намерете елемент чрез текст на връзката и съхранявайте в променлива "Елемент"WebElement Element = driver.findElement (By.linkText ("Linux"));// Това ще превърта страницата, докато елементът бъде намеренjs.executeScript ("аргументи [0] .scrollIntoView ();", Елемент);}}

Описание на скрипта: В горния код първо стартираме дадения URL адрес в браузъра Chrome. След това превъртете страницата, докато споменатият елемент се види на текущата страница. Методът на Javascript scrollIntoView () превърта страницата, докато споменатият елемент е в пълен изглед:

js.executeScript ("аргументи [0] .scrollIntoView ();", Елемент); 

"аргументи [0]" означава първи индекс на страница, започващ от 0.

Където „Елемент“ е локаторът на уеб страницата.

Анализ на изхода: Ето резултата, когато изпълните горния скрипт.

Сценарий 3: За да превъртите надолу уеб страницата в долната част на страницата.

Сценарий на селен

импортиране на org.openqa.selenium.JavascriptExecutor;импортиране на org.openqa.selenium.WebDriver;импортиране на org.openqa.selenium.chrome.ChromeDriver;внос org.testng.annotations.Test;публичен клас ScrollByPage {Драйвер за WebDriver;@Тестпублична невалидна ByPage () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");драйвер = нов ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) драйвер;// Стартиране на приложениетоdriver.get ("http://demo.guru99.com/test/guru99home/");// Това ще превърти уеб страницата до края.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}

Описание на скрипта: В горния код първо стартираме дадения URL адрес в браузъра Chrome. След това превъртете до края на страницата. Метод на Javascript scrollTo () превъртате до края на страницата.

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

"document.body.scrollHeight" връща пълната височина на тялото, т.е. на уеб страницата.

Анализ на изхода: Ето резултата, когато изпълните горния скрипт.

Сценарий 4: Хоризонтално превъртане на уеб страницата.

Сценарий на селен

внос org.openqa.selenium.By;импортиране на org.openqa.selenium.JavascriptExecutor;импортиране на org.openqa.selenium.WebDriver;внос org.openqa.selenium.WebElement;импортиране на org.openqa.selenium.chrome.ChromeDriver;внос org.testng.annotations.Test;публичен клас HorizontalScroll {Драйвер за WebDriver;@Тестпублична празнота ScrollHorizontally () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");драйвер = нов ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) драйвер;// Стартиране на приложениетоdriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");WebElement Element = driver.findElement (By.linkText ("VBScript"));// Това ще превърта страницата хоризонтално, докато елементът бъде намеренjs.executeScript ("аргументи [0] .scrollIntoView ();", Елемент);}}

Описание на скрипта: В горния код първо стартираме дадения URL адрес в браузъра Chrome. След това превъртете страницата хоризонтално, докато споменатият елемент се види на текущата страница. Методът на Javascript scrollIntoView () превърта страницата, докато споменатият елемент е в пълен изглед:

js.executeScript ("аргументи [0] .scrollIntoView ();", Елемент);

Анализ на изхода: Ето резултата, когато изпълните горния скрипт.

Обобщение

  • В горния урок илюстрираме превъртането на уеб страницата през различни сценарии.
  • В първия сценарий показахме превъртането надолу на страница по пиксел.
  • Във втория сценарий показахме превъртането надолу на страницата до видимостта на елемента.
  • В третия сценарий показахме превъртането надолу на страницата в долната част на страницата.
  • В четвъртия сценарий илюстрирано хоризонталното превъртане на уеб страницата.