Page scroll up or down in Selenium WebDriver (Selenium 2) using java
Scenario/Test steps:
1. Open a browser and navigate to TestURL
2. Scroll down some pixel and scroll up
For Scroll down:
WebDriver driver = new FirefoxDriver();JavascriptExecutor jse = (JavascriptExecutor)driver;jse.executeScript("window.scrollBy(0,250)");
OR, you can do as follows:
jse.executeScript("scroll(0, 250);");
For Scroll up:
jse.executeScript("window.scrollBy(0,-250)");OR,jse.executeScript("scroll(0, -250);");
Scroll to the bottom of the page:
Scenario/Test steps:
1. Open a browser and navigate to TestURL
2. Scroll to the bottom of the page
Way 1: By using JavaScriptExecutor
jse.executeScript("window.scrollTo(0, document.body.scrollHeight)");
Way 2: By pressing ctrl+end
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL, Keys.END);
Way 3: By using Java Robot class
Robot robot = new Robot();robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_END);robot.keyRelease(KeyEvent.VK_END);robot.keyRelease(KeyEvent.VK_CONTROL);
Scrolling to the bottom of a page:
JavascriptExecutor js = ((JavascriptExecutor) driver);js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
There are many ways to scroll up and down in Selenium Webdriver I always use Java Script to do the same.
Below is the code which always works for me if I want to scroll up or down
// This will scroll page 400 pixel vertical ((JavascriptExecutor)driver).executeScript("scroll(0,400)");
You can get full code from here Scroll Page in Selenium
If you want to scroll for a element then below piece of code will work for you.
je.executeScript("arguments[0].scrollIntoView(true);",element);
You will get the full doc here Scroll for specific Element