How to Process Java Script Executor in Selenium Test Automation | Devstringx Technologies

Devstringx Technologies
2 min readNov 7, 2021

How to get started with Query Scripts?

With the help of JavaScript Executor Interface we can execute query scripts directly in selenium .It provides two methods such as “executeScript” & “executeAsyncScript” to run JavaScript code.To make the availability of these methods we need to downcast JavaScript Executor Interface with Web Driver reference.

Some of the query methods are mentioned below -

  • querySelector() method in HTML DOM is used to find the first HTML Element.This method function is similar to findElement() in selenium.

Syntax: document.querySelector(selector)

  • querySelectorAll() method in HTML DOM is used to return the list of HTML Elements.It can be accessed by indexing starts at 0.This method function is similar to findElements() in selenium

Syntax: document.querySelectorAll(selector)

‘document’ is an object of Javascript Document that provides access to all HTML elements of a document. ‘selector’ represents a string containing one or more css selectors.

Importing the package

import org.openqa.selenium.JavascriptExecutor;

Creating a reference

JavascriptExecutor js = (JavascriptExecutor) driver;

Creating query script

script =document.querySelector(selector)

Calling the method

js.executeScript(script);

QUERY SCRIPTS:

  • click : script =document.querySelector(selector).click();
  • send text :script =document.querySelector(selector).value=’data’;
  • get text : script =document.querySelector(selector).textContent;
  • get attribute : script =document.querySelector(selector).getAttribute(“class”);
  • get height : script =document.querySelector(selector).offsetHeight;
  • get width : script =document.querySelector(selector).offsetWidth;
  • get style: script =document.querySelector(selector).style;

Let’s create one simple ’QueryScriptsTest‘ automation script using Selenium that searches Amazon from google by JavascriptExecutor method.

package tests;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.remote.RemoteWebDriver;
public class QueryScriptsTest {
public static void main(String[] args) {System.setProperty(“webdriver.chrome.driver”, “./drivers/chromedriver.exe”);WebDriver driver=new ChromeDriver();driver.manage().window().maximize();driver.get(“https://www.google.com");JavascriptExecutor js = (JavascriptExecutor)driver;//send textString sendAmazonText=”document.querySelector(\”input[title=’Search’]\”).value=\”Amazon\”;”;js.executeScript(sendAmazonText);String clickSearchBtn =”document.querySelectorAll(\”input[value=’Google Search’]\”)[1].click()”;//click buttonjs.executeScript(clickSearchBtn);}}

Output:
The above program opens the chrome browser and it navigates to google.com. It executes query scripts ‘sendAmazonText’ and ‘clickSearchBtn’ through JavaScript Executor.

Originally published at https://www.devstringx.com on Oct 22, 2021.

--

--

Devstringx Technologies

Devstringx Technologies is highly recommended IT company for custom software development, mobile app development and automation testing services