如何使用JavaScript for Safari双击Selenium Webdriver上的元素

时间:2015-10-29 16:08:53

标签: javascript java selenium-webdriver safaridriver

我在使用Java / Webdriver 2.48双击Safari上的元素时遇到问题。

测试在IE,Chrome和Firefox上运行良好,但Safari不支持Actions。目前我正在做这样的事情

executor.executeScript("arguments[0].dblclick();", element);

executor.executeScript("arguments[0].dblclick;", element);

但不起作用。这是错误

  

arguments [0] .dblclick不是函数。 (在'arguments [0] .dblclick()'中,'arguments [0] .dblclick'未定义)(警告:服务器未提供任何堆栈跟踪信息)   命令持续时间或超时:35毫秒   构建信息:版本:'2.48.0',修订版:'b7b081a4f1289f17e8ecd38bc67e137c2a12e34a',时间:'2015-10-07 09:50:14'   系统信息:主机:'MacBook-Pro.local',ip:'10 .0.1.7',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10 .11',java.version :'1.8.0_25'   驱动程序信息:org.openqa.selenium.safari.SafariDriver   功能[{browserName = safari,takesScreenshot = true,javascriptEnabled = true,version = 9.0,cssSelectorsEnabled = true,platform = MAC,secureSsl = true}]   会话ID:null

我尝试使用dblclick和ondblclick但是没有执行双击,请参阅上一个错误。

1 个答案:

答案 0 :(得分:0)

我能够使用以下代码解决问题

适用于Safari

var event = new MouseEvent('dblclick', {
'view': window,
'bubbles': true,
'cancelable': true
});

 document.querySelector("div[id='InProcessGrid']>div>table>tbody>tr.rowselected>td:nth-child(1)").dispatchEvent(event);

以下是有关该问题的更多信息

https://github.com/webdriverio/webdriverio/issues/231