Saravana
Saravana

Reputation: 147

How to double click on an element using Selenium Webdriver

This is a dynamic list we have in our site.

List Page

This is the HTML tag where I want to pass double click on.

<td class="dxgv" align="left" style="color: rgb(51, 51, 51); font-size: 13px; border-bottom: 1px solid rgb(237, 237, 237); border-left-width: 0px; border-right-width: 0px; width: 5.6em; max-width: 6em; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;">Sun Kumar</td>

I want to double click on the first record all the time even though first record gets deleted after each click

Upvotes: 4

Views: 37988

Answers (2)

Norayr Sargsyan
Norayr Sargsyan

Reputation: 1868

If the double click does not work with the actions class you can use this proposal:

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

Upvotes: 0

Subh
Subh

Reputation: 4424

Since, you want to double click on the first record, you can try this java code:

(Assuming there is one table in the webpage, as complete HTML code is not available above and the row for the contents starts with 2nd.)

Actions act = new Actions(driver);
act.doubleClick(driver.findElement(By.xpath("//table//tr[2]//td[@class='dxgv'][1]"))).build().perform();

OR

 Actions act = new Actions(driver);
 act.moveToElement(driver.findElement(By.xpath("//table//tr[2]//td[@class='dxgv'][1]"))).doubleClick().build().perform();

Upvotes: 7

Related Questions