Как да превъртите страницата надолу или нагоре Selenium Уебдрайвер
⚡ Умно обобщение
Превъртане на страница навътре Selenium WebDriver използва JavascriptИзпълнителен интерфейс за изпълнение JavaКоманди за скролиране чрез скриптове, защото WebDriver манипулира DOM директно. Четири практически сценария обхващат скролиране по пиксел, до елемент, до края на страницата и хоризонтално.

Превъртете Selenium
За да превъртите с помощта на Selenium, Можете да използвате JavaScriptExecutor интерфейс, който помага за изпълнение JavaСкрипт методи чрез Selenium Уебдрайвер
Синтаксис:
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript(Script,Arguments);
- Сценарий – Това е JavaСкрипт, който трябва да се изпълни.
- Аргументи – това са аргументите към скрипта. Не е задължително.
Какво е лента за превъртане?
Лентата за превъртане ви позволява да се движите по екрана в хоризонтална или вертикална посока, ако текущото превъртане на страницата не се побира във видимата област на екрана. Използва се за преместване на прозореца нагоре и надолу.
Selenium Webdriver не изисква превъртане, за да извършва действия, тъй като манипулира DOM. Но в някои уеб страници елементите стават видими само след като потребителят превърти до тях. В такива случаи може да е необходимо превъртане.
Лентата за превъртане е два вида: Хоризонтален намлява вертикален лента за превъртане, както е показано на екранната снимка по-долу.
Selenium Скрипт за превъртане надолу по страницата
Нека да видим превъртането надолу на уеб страница с помощта на selenium webdriver със следните 4 сценария:
- Сценарий 1: Превъртане на уеб страницата надолу по пиксел.
- Сценарий 2: Превъртане надолу по уеб страницата според видимостта на елемента.
- Сценарий 3: За да превъртите надолу уеб страницата в долната част на страницата.
- Сценарий 4: Хоризонтално превъртане на уеб страницата.
Сценарий 1: Превъртане на уеб страницата надолу по пиксел.
Selenium Сценарий
import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.Test; public class ScrollByPixel { WebDriver driver; @Test public void ByPixel() { System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe"); driver = new ChromeDriver(); JavascriptExecutor js = (JavascriptExecutor) driver; // Launch the application driver.get("https://demo.guru99.com/test/guru99home/"); //To maximize the window. This code may not work with Selenium 3 jars. If script fails you can remove the line below driver.manage().window().maximize(); // This will scroll down the page by 1000 pixel vertical js.executeScript("window.scrollBy(0,1000)"); } }
Сценарий DescriptйонВ горния код първо стартираме даденото URL в браузъра Chrome. След това превъртете страницата с 1000 пиксела чрез executeScript. Javascript метод ScrollBy() превърта уеб страницата до конкретния брой пиксели.
Синтаксисът на методите ScrollBy() е:
executeScript("window.scrollBy(x-pixels,y-pixels)");
x-пиксели е числото по оста x, премества се наляво, ако числото е положително, и се премества надясно, ако числото е отрицателно. y-пиксели е числото по оста y, премества се надолу, ако числото е положително и се премества нагоре, ако числото е отрицателно.
Пример:
js.executeScript("window.scrollBy(0,1000)"); //Scroll vertically down by 1000 pixels
Анализ на изхода: Ето изхода, когато изпълните горния скрипт.
Сценарий 2: Превъртане надолу по уеб страницата според видимостта на елемента.
Selenium Сценарий
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; public class ScrollByVisibleElement { WebDriver driver; @Test public void ByVisibleElement() { System.setProperty("webdriver.chrome.driver", "G://chromedriver.exe"); driver = new ChromeDriver(); JavascriptExecutor js = (JavascriptExecutor) driver; //Launch the application driver.get("https://demo.guru99.com/test/guru99home/"); //Find element by link text and store in variable "Element" WebElement Element = driver.findElement(By.linkText("Linux")); //This will scroll the page till the element is found js.executeScript("arguments[0].scrollIntoView();", Element); } }
Сценарий Descriptйон: В горния код първо стартираме дадения URL адрес в браузъра Chrome. След това превъртете страницата, докато споменатият елемент се види на текущата страница. Javascript методът scrollIntoView() превърта страницата, докато споменатият елемент е в пълен изглед:
js.executeScript("arguments[0].scrollIntoView();",Element );
„аргументи[0]“ означава първият индекс на страницата, започващ от 0.
Където „Елемент“ е локаторът на уеб страницата.
Анализ на изхода: Ето изхода, когато изпълните горния скрипт.
Сценарий 3: За да превъртите надолу уеб страницата в долната част на страницата.
Selenium Сценарий
import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.Test; public class ScrollByPage { WebDriver driver; @Test public void ByPage() { System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe"); driver = new ChromeDriver(); JavascriptExecutor js = (JavascriptExecutor) driver; // Launch the application driver.get("https://demo.guru99.com/test/guru99home/"); //This will scroll the web page till end. js.executeScript("window.scrollTo(0, document.body.scrollHeight)"); } }
Сценарий Descriptйон: В горния код първо стартираме дадения URL адрес в браузъра Chrome. След това превъртете до дъното на страницата. Javascript метод scrollTo() превъртете до края на страницата.
js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
“document.body.scrollHeight” връща пълната височина на тялото, т.е. уеб страницата.
Анализ на изхода: Ето изхода, когато изпълните горния скрипт.
Сценарий 4: Хоризонтално превъртане на уеб страницата
Selenium Сценарий
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; public class HorizontalScroll { WebDriver driver; @Test public void ScrollHorizontally() { System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe"); driver = new ChromeDriver(); JavascriptExecutor js = (JavascriptExecutor) driver; // Launch the application driver.get("https://demo.guru99.com/test/guru99home/scrolling.html"); WebElement Element = driver.findElement(By.linkText("VBScript")); //This will scroll the page Horizontally till the element is found js.executeScript("arguments[0].scrollIntoView();", Element); } }
Сценарий Descriptйон: В горния код първо стартираме дадения URL адрес в браузъра Chrome. След това превъртете страницата хоризонтално, докато споменатият елемент се види на текущата страница. Javascript методът scrollIntoView() превърта страницата, докато споменатият елемент е в пълен изглед:
js.executeScript("arguments[0].scrollIntoView();",Element );
Анализ на изхода: Ето изхода, когато изпълните горния скрипт.
Научете повече за JavaScriptExecutor






