24. JavaScriptExecutor for Scrolling, Hidden Elements & DOM Hacks

Executing JavaScript in Selenium

import org.openqa.selenium.JavascriptExecutor;

JavascriptExecutor js = (JavascriptExecutor) driver;

// Scroll element into view:
WebElement footer = driver.findElement(By.id("footer"));
js.executeScript("arguments[0].scrollIntoView(true);", footer);

// JS Click (bypasses click interception):
WebElement submitBtn = driver.findElement(By.id("submit"));
js.executeScript("arguments[0].click();", submitBtn);

// Retrieve page document readyState:
String state = (String) js.executeScript("return document.readyState;");

Task

  • Implement scrollIntoViewAndClick:
  • 1. Accept WebDriver driver and WebElement element.
  • 2. Cast driver to JavascriptExecutor.
  • 3. Call js.executeScript("arguments[0].scrollIntoView(true);", element).
  • 4. Call js.executeScript("arguments[0].click();", element).
πŸ’‘Common doubts
Did you like the problem?
Lesson 24 of 44
Java
Loading code editor…
Next