How can I scroll up or down a webpage in Selenium WebDriver (Selenium 2) using Java?

18    Asked by AlanTaylor in QA Testing , Asked on Dec 15, 2024

When mooving up or down a page using a selenium webdriver helps in locating missing elements in thunder dome. The vertical wipe can be controlled using the JavascriptExecutor," explains Andre Soares, a computer systems student at UNISUAM. What are the different approaches in using selenium web driver (selenium 2) in Java that lets one scroll the page?

Answered by Antony Bence

Here are a few methods to scroll a webpage:

1. Using JavascriptExecutor

The JavascriptExecutor interface can execute JavaScript commands to scroll the page.

Example: Scroll Down by Pixels

import org.openqa.selenium.JavascriptExecutor;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

public class ScrollExample {

    public static void main(String[] args) {

        // Set up WebDriver

        WebDriver driver = new ChromeDriver();

        driver.get("https://example.com");

        // Cast WebDriver to JavascriptExecutor

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Scroll down by 1000 pixels

        js.executeScript("window.scrollBy(0,1000)");

        // Scroll up by 500 pixels

        js.executeScript("window.scrollBy(0,-500)");

        // Close the browser

        driver.quit();

    }

}

2. Scroll to a Specific Element

If you want to scroll to bring a specific element into view, you can use JavaScript.

Example:

import org.openqa.selenium.JavascriptExecutor;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.By;

public class ScrollToElement {

    public static void main(String[] args) {

        WebDriver driver = new ChromeDriver();

        driver.get("https://example.com");

        // Find the element to scroll to

        WebElement element = driver.findElement(By.id("elementID"));

        // Scroll to the element

        JavascriptExecutor js = (JavascriptExecutor) driver;

        js.executeScript("arguments[0].scrollIntoView(true);", element);

        driver.quit();

    }

}

3. Scroll to the Bottom or Top of the Page

Use JavaScript to scroll to the bottom or top of the page.

Example: Scroll to Bottom

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

Example: Scroll to Top

js.executeScript("window.scrollTo(0, 0);");

  1. Key Points:
  2. JavaScript Execution: window.scrollBy(x, y) is used to scroll relative to the current position, while window.scrollTo(x, y) scrolls to an absolute position.
  3. Scroll into View: Use scrollIntoView() to ensure a specific element is visible.
  4. Dynamic Pages: For pages that load content dynamically (e.g., infinite scroll), you may need to repeatedly scroll down and check for new content.



Your Answer

Interviews

Parent Categories