无法双击Selenium Java

无法双击Selenium Java,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我是自动化测试的初学者。我已经将Eclipse安装为执行自动化任务的IDE,我使用的语言是Java。我的web应用程序中有一个模块,我需要快速双击web元素。第一次和第二次单击之间的时间差应小于半秒 我编写了以下代码: Actions actions = new Actions(driver); actions.doubleClick(driver.findElement(By.xpath("//div[contains(text(), 'Sonam')]"))).doubleClick().b

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

我编写了以下代码:

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

我做错了什么?

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

试试这个

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();

使用Actions类可以双击元素

给你:

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

您可以使用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')]")));

这很有效

您可以尝试以下操作:-

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

String jsCodeToDblClick=“var targetelement=arguments[0];var”clEvent=document.createEvent('MouseEvents');代码中出现以下错误:第一行:第二行的这一行有多个标记:无效字符constant有人能帮我吗?@smishra0105当然。你能显示准确的执行/错误吗?在JSCODE BLASKE中考虑任何字符串作为一行。是的,请分享您正在尝试的代码片段。我修复了所有的异常。但是双击它是不可能的。请引导我。