Understanding Selenium Click Command
By Jash Unadkat, Community Contributor - September 8, 2023
A click is the most fundamental user action performed by anyone accessing the internet. It allows users to navigate web pages or perform particular tasks by interacting with links, buttons, and other web elements.
Let’s consider an example. A user must first click on the address bar to enter a URL 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 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.
- Teams use automation tools like Selenium for automated testing to achieve extensive test coverage.
This article will describe different click operations in Selenium using the Selenium click() command and Actions class.
Selenium Click Command – How to Use It?
The Selenium Click command is necessary to automate UI testing for your web app. QA engineers use the Click command offered by Selenium WebDriver to interact with web elements. It helps simulate the click action users perform in the real world.
- Selenium click() command is used to emulate the click operation on elements like buttons, links, etc.
- Using the Selenium click command can save a lot of time spent on manual testing and identify bugs in the app.
- However, multiple subsets of the click action exist – left-click, right-click, double-click, drag-drop, etc.
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.
To perform a specific operation on a particular element, understand Locators in Selenium.
How to perform a Left Click in Selenium?
A left-click is a fundamental operation. To perform a left mouse click, one must locate a particular element and perform the click operation using the click() command.
Consider a sample scenario: Visit BrowserStack.com and click on the Get Started free button.
Code:
driver.get("https://www.browserstack.com/"); driver.findElement(By.id("signupModalButton")).click(); //using Selenium click button method
The code above does the following:
- Navigates to the BrowserStack website
- Locates the “Get Started Free” button using its “id” as the locator and performs a left click on it
Read More: Quick XPath Locators Cheat Sheet
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. 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.
Performing a Double Click in Selenium
Sometimes, a user needs to double-click on a particular button and open a folder or file while performing browser testing. Like the right-click operation, the Actions class can simulate the double click. Refer to the Syntactic Code below that explains how to perform the double-click 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();
Discovering bugs or functional errors is only possible when a tester plays around or interacts with every element on a website. For this, QAs must 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.