Home Guide Understanding Click Command in Selenium

Understanding Click Command in Selenium

By Jash Unadkat, Technical Content Writer at BrowserStack -

A click is the most fundamental user action performed by anyone accessing the internet. It allows the user to navigate web pages or perform particular tasks by interacting with links, buttons, and other web elements.

Let’s consider an example. A user needs to first click on the address bar to enter a URL in order to visit a particular website. Then, to login to an account, one needs to click on input fields like ID and Password to enter credentials. Then, they must click on Login. In a nutshell, the click operation is at the core of web browsing.

Every web page comprises of several web-elements (Links, buttons, radio buttons, Checkboxes), and every website has multiple web pages. To ensure a seamless user journey across pages within a particular website, QA engineers need to test the website thoroughly. To achieve extensive test coverage, teams use automation tools like Selenium for automated testing.

For interacting with web elements in test automation, QA engineers use the Click command offered by Selenium WebDriver. It helps simulate the click action users perform in the real world.

However, there are multiple subsets of the click action – left-click, right-click, double click, drag, and drop, etc. This article will describe how to automate different click operations in Selenium using the Selenium.click() command and Actions class.

Note: QA engineers automate advanced click operations like double clicks, hovering, drag and drop using the Action class. It is a built-in capability in Selenium that can also be used for automating keyboard inputs.

In order to perform a specific operation on a particular element, start by gaining a fundamental understanding of how to locate elements in Selenium.

How to perform a Left Click in Selenium?

A left-click is a fundamental operation. To perform a left mouse click, one needs to locate a particular element first and then perform the click operation using the click() command.

Let’s consider a sample scenario: Visit BrowserStack.com and click on the Get Started free button.

Selenium Click Command Example

Code:

driver.get("https://www.browserstack.com/");
driver.findElement(By.id("signupModalButton")).click(); //using Selenium click button method

The code above does the following:

  1. Navigates to the BrowserStack website
  2. Locates the “Get Started Free” button using its “id” as the locator and performs a left click on it

How to perform a Right Click in Selenium?

For automating the right-click operation, Selenium provides a dedicated method – contextClick(). This method accepts the target WebElement as the argument. In order to use this method, use the Actions class object. The method of locating the desired element remains the same.

Refer to the code below:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
public class RightClickDemo {

public static void main(String[] args) {

//Set system properties 
System.setProperty(" < Path of the Browser Driver > ");

// Create a new instance of the Firefox driver
WebDriver driver = new FirefoxDriver();

// Visiting the URL
driver.get("<Enter the target URL>");

//Maximise browser window
driver.manage().window().maximize();

//Instantiating the Actions Class
Actions actions = new Actions(driver);

// Fetching or locating WebElement to perform right-click using the desired locators
WebElement btnElement = driver.findElement(By.id("id-value"));

//Right click the button to display Context Menu
actions.contextClick(btnElement).perform();

System.out.println("Context Menu displayed");


// Code To click on a specific option from the Context menu once right-click is performed.
WebElement elementOpen = driver.findElement(By.xpath("<Xpath of the specific option")); 
elementOpen.click();

// Accept the Alert
driver.switchTo().alert().accept();

System.out.println("Right click Alert Accepted Successfully ");

// Terminating the operation
driver.close();

}

}

The code above, when executed, navigates to the target website, locates the particular web element, performs the right-click operation, and selects the desired option from the context menu.

Run Instant Selenium Tests on Cloud

Performing a Double Click in Selenium

In some cases, a user needs to double click on a particular button and open a folder or file while performing browser testing. Similar to the right-click operation, the Actions class can be used to simulate the double click. Refer to the Syntactic Code below that explains how to perform the double click operation in Selenium:

driver.get("URL of target website / webpage"); // Define the URL of the target website.
Actions act = new Actions(driver);

//Double click on element
WebElement web2 = driver.findElement(By.xpath("XPath of the element")); 
act.doubleClick(web2).perform();

Also read: How to drag and drop in Selenium


Discovering bugs or functional errors is only possible when a tester plays around or interacts with every element on a website. For this, QAs need to simulate user interactions by creating automated test scripts. The Selenium Click command allows them to do this and facilitates the comprehensive verification of website functionality.

BrowserStack Logo Run Selenium Tests on 2000+ Browsers & Devices Get Started Free