Reputation: 14036
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
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
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