- Given any web page, we would like to handle mouse & keyboard interactions using Actions class.
- We will use Selenium WebDriver using Java binding language.
- We would cover the Mouseover, Enter Text in Capital letters, Right Click and DoubleClick functionality below:
- We are instantiating a web driver using:
WebDriver driver = new ChromeDriver()
- We can navigate to any website using:
driver.get("Enter Url here") - We are creating an instance of Actions class and passing driver capabilities to our actions class:
Actions a = new Actions(driver)
- We are handling Ajax mouse interactions (mouseover a Web Element) using
a.moveToElement(move).build().perform()
- moveToElement() : This method is being used for moving to a specific Web element
- build(): This method means this action is getting ready for execution
- perform(): This method means this action is ready and will execute now
- We can enter text in capital letters using
a.moveToElement(driver.findElement(By.id("twotabsearchtextbox"))).click() .keyDown(Keys.SHIFT).sendKeys("hello").doubleClick().build().perform();-
keyDown(Keys.SHIFT):
We can interact with Web Page via keyboard using KeysDown().
-
doubleClick():
This method is used to select a entered text using double click in this case.
-
- We are instantiating a web driver using:
Code: Handle mouse & keyboard events – Selenium Actions class:
package org.learn;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
public class MouseKeyboardEvents {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "C:\\work\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.amazon.com/");
// Passing the driver capabilities to Action class
Actions a = new Actions(driver);
// Locating a specific web element
WebElement move = driver.findElement(By.xpath("//a[@id='nav-link-accountList']"));
// Mouseover an Object using selenium
a.moveToElement(move).build().perform();
// Entering "Hello" in Capital letters in Text box
a.moveToElement(driver.findElement(By.id("twotabsearchtextbox")))
.click().keyDown(Keys.SHIFT).sendKeys("hello").build().perform();
// Right clicking an element using Context Click
a.moveToElement(move).contextClick().build().perform();
}
}



