Selenium webdriver使用Web驱动程序的Java代码,用于双击网格中的记录

如何使用Web驱动程序在记录上为doubleClick()编写selenium java代码?

我在身体部位显示了一些记录。 一旦我点击了一条记录,我们就会得到一个弹出窗口来更新它。

请建议如何使用Web驱动程序编写Selenium Java代码。

我试过以下代码:

 Actions action = new Actions(driver); action.moveToElement(driver.findElement(By.xpath("//table/tbody/tr[2]/td/div/div/table/tbody/tr[10]/td[1]"))).doubleClick().build().perform(); 

使用Actions类可以使用WebDriver在WebElements上执行鼠标,键盘操作。

 Actions action = new Actions(driver); WebElement element=driver.findElement(By.linkText("TEST")); //Double click action.doubleClick(element).perform(); //Mouse over action.moveToElement(element).perform(); //Right Click action.contextClick(element).perform(); 

您应该使用Actions()类,因为这包括“双击”操作。

 Actions action = new Actions(driver); action.moveToElement(driver.findElement(By.linkText("Test"))).doubleClick().build().perform(); 
 Actions action = new Actions(driver); action.moveToElement(driver.findElement(By.xpath("//table/tbody/tr[2]/td/div/div/table/tbody/tr[10]/td[1]"))).doubleClick().perform(); 

这段代码有效!!!

试试这段代码:

 Actions action = new Actions(driver); WebElement btnElement=driver.findElement("Locator of element")); action.doubleClick(btnElement).build().perform(); 

如果没有绑定到singleclick的其他操作,您可以使用:

 driver.findElement(By.xpath("%youXPath%"))).click; driver.findElement(By.xpath("%youXPath%"))).click; 

实际上,它应该适用于大多数情况下(除了你有一些自定义系统双击设置)

  WebElement element = driver.findElement(selector); Actions builder = new Actions(driver); builder.doubleClick(element).perform(); 

我实现了Ran(在我的post之上)解决方案。 我在Eclipse中编写Java并使用Selenium WebDriver。

您需要2个import:

 import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; 

然后,我这样实现了代码:

 WebElement element = driver.findElement(By.xpath("/html/body/div[1]/div/div/div[2]/div[1]/div[3]/div[8]/div[2]/div/div[2]/div/table/tbody/tr[2]")); Actions builder = new Actions(driver); builder.doubleClick(element).perform(); 

感谢Ran! 几个小时我一直在努力解决这个问题。 调用两次单击对我来说不起作用 – 双击之间被测试浏览器捕获的事件之间的时间太长。

您可以使用WebDriver的Actions类来执行复合操作,如双击,拖放,hover等。

//创建一个Actions类的实例,传递当前的驱动程序实例。

 Actions builder = new Actions(driver); 

方式1:

//获取一个Action类对象,该对象包含一个动作/一组动作

 Action action = builder.doubleClick(element); 

//使用build()构建一组操作/单个操作,并使用perform()方法在浏览器上执行。

 action.build().perform(); 

方式2:

//直接在Actions类实例上调用build()和perform()方法

 builder.doubleClick().build().perform();