无法双击Selenium Java

时间:2017-04-21 06:47:47

标签: java selenium selenium-webdriver

我是自动化测试的初学者。我已经安装了Eclipse作为执行自动化任务的IDE,我使用的语言是Java。我的网络应用程序中有一个模块,我需要快速双击网页元素。第一次和第二次点击之间的时差应小于半秒。

我写了以下代码:

Actions actions = new Actions(driver);
actions.doubleClick(driver.findElement(By.xpath("//div[contains(text(), 'Sonam')]"))).doubleClick().build().perform();

我做错了什么?

3 个答案:

答案 0 :(得分:0)

您应该首先将鼠标移动到元素。

试试这个

Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.xpath("//div[contains(text(), 'Sonam')]"))).doubleClick().perform();

或只是:

 action.doubleClick(driver.findElement(By.xpath("//div[contains(text(), 'Sonam')]"))).perform();

答案 1 :(得分:0)

使用Actions类,您可以在元素上执行DoubleClick。

你走了:

Actions action = new Actions(driver); 
action.doubleClick(driver.findElement(By.xpath("//div[contains(text(), 'Sonam')]"))).build().perform();

OR

您可以使用JavaScriptExecutor使用Javascript进行双击,如下所示:

String jsCodeToDblClick = "var targElement=arguments[0]; var clEvent=document.createEvent('MouseEvents'); clEvent.initEvent('dblclick', true, true');targElement.dispatchEvent (clEvent);";

((JavascriptExecutor)driver).executeAsyncScript(jsCodeToDblClick ,driver.findElement(By.xpath("//div[contains(text(), 'Sonam')]")));

这有效!!!

答案 2 :(得分:0)

您可以尝试以下操作: -

WebElement ele1 = driver.findElement(By.xpath("//div[contains(text(), 'Sonam')]")));
Actions actions = new Actions(driver);
actions.doubleClick(ele1).build().perform();