N NextGen Virtual Academy
AD Administrator Learning Manager
SELENIUM WEBDRIVER ยท PRACTICE LAB

JavaScript Executor

Execute JavaScript directly from Selenium to interact with elements, scroll pages, modify content and handle situations where normal WebDriver commands are difficult.

SELENIUM 4 JS
OBJECTIVE

What You Will Practice

  • Execute JavaScript through Selenium.
  • Click elements using JavaScript.
  • Enter values using JavaScript.
  • Scroll to an element.
  • Scroll to the top and bottom.
  • Highlight elements.
  • Retrieve page information.
  • Show and hide elements.
01

JavaScript Click

Click an element using JavaScript instead of Selenium click().

CLICK
Selenium Java JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click();", element);
02

JavaScript Set Value

Enter text into an input using JavaScript.

INPUT
Selenium Java js.executeScript( "arguments[0].value='Selenium Automation';", element );
03

Highlight Element

Change an element's style using JavaScript.

STYLE
Selenium Target Element
Selenium Java js.executeScript( "arguments[0].style.border='3px solid red';", element );
04

Scroll to Element

Scroll the browser until a specific element becomes visible.

SCROLL
๐ŸŽฏ Scroll Target Element
Selenium Java js.executeScript( "arguments[0].scrollIntoView(true);", element );
05

Scroll Top & Bottom

Move the browser viewport to the top or bottom of the page.

VIEWPORT
Selenium Java js.executeScript("window.scrollTo(0, document.body.scrollHeight);");
06

Page Information

Retrieve browser page information using JavaScript.

DOM
Page Title โ€”
Page URL โ€”
Page Height โ€”
Selenium Java js.executeScript("return document.title;");
07

Hide & Show Element

Modify DOM element visibility using JavaScript.

DOM
I am the JavaScript target element.
Selenium Java js.executeScript( "arguments[0].style.display='none';", element );
QUICK REFERENCE

JavaScriptExecutor Cheat Sheet

Click
js.executeScript(
    "arguments[0].click();",
    element
);
Enter Text
js.executeScript(
    "arguments[0].value='Text';",
    element
);
Scroll
js.executeScript(
    "arguments[0].scrollIntoView(true);",
    element
);
Highlight
js.executeScript(
    "arguments[0].style.border='3px solid red';",
    element
);
Page Title
String title =
    (String) js.executeScript(
        "return document.title;"
    );
Scroll Bottom
js.executeScript(
    "window.scrollTo(
        0,
        document.body.scrollHeight
    );"
);