Какво е лента за превъртане?
Лентата за превъртане ви позволява да се движите по екрана в хоризонтална или вертикална посока, ако превъртането на текущата страница не отговаря на видимата област на екрана. Използва се за преместване на прозореца нагоре и надолу.
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 ();", Елемент);
Анализ на изхода: Ето резултата, когато изпълните горния скрипт.
Обобщение
- В горния урок илюстрираме превъртането на уеб страницата през различни сценарии.
- В първия сценарий показахме превъртането надолу на страница по пиксел.
- Във втория сценарий показахме превъртането надолу на страницата до видимостта на елемента.
- В третия сценарий показахме превъртането надолу на страницата в долната част на страницата.
- В четвъртия сценарий илюстрирано хоризонталното превъртане на уеб страницата.