Alpha
Alpha

Reputation: 14036

Double click through javascript execution for Selenium

There is a way to click on element by executing javascript like following:

((JavascriptExecutor)driver).executeScript("arguments[0].click();", element);

I want to double click on element by executing javascript, hence I tried like following:

((JavascriptExecutor)driver).executeScript("arguments[0].doubleClick();", element);

But it gives error:

org.openqa.selenium.WebDriverException: unknown error: undefined is not a function

Please tell me what I need to do in order perform double click by executing javascript.

Upvotes: 3

Views: 19993

Answers (3)

Norayr Sargsyan
Norayr Sargsyan

Reputation: 1868

This is the Java code for double click using JsExecutor

public void doubleClickWithJS(WebElement element) {
   JavascriptExecutor executor = (JavascriptExecutor) driver;
   executor.executeScript("arguments[0].dispatchEvent(new MouseEvent('dblclick', { bubbles: true }));", element);
}

Upvotes: 1

Naveen Mehra
Naveen Mehra

Reputation: 49

Please try double click with mouse events:

((JavascriptExecutor) driver).executeScript("var evt = document.createEvent('MouseEvents');"+ 
    "evt.initMouseEvent('dblclick',true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0,null);"+ 
    "arguments[0].dispatchEvent(evt);", element);

Upvotes: 2

Mansuro
Mansuro

Reputation: 4617

You should use dblclick event

click, dblclick events

Upvotes: 6

Related Questions