我需要一个JavaScript代码来单独使鼠标双击。我将在Java代码中使用它。这是一个用于测试目的的selenium项目,但是没有任何方法可以使鼠标双击selenium,因此我想使用javaScript在我的java代码中执行此操作。你有什么主意吗?
他们说我应该使用JavaScript双击鼠标,但是怎么做?
为了使 Mouse Double Click 您可以编写脚本并将其传递给executeScript()方法,如下所示:
Mouse Double Click
executeScript()
剧本:
String jsDoubleClick =
“var target = arguments[0]; ” + “var offsetX = arguments[1]; ” + “var offsetY = arguments[2]; ” + “var rect = target.getBoundingClientRect(); ” + “var cx = rect.left + (offsetX || (rect.width / 2)); ” + “var cy = rect.top + (offsetY || (rect.height / 2)); ” + ” ” + “emit(‘mousedown’, {clientX: cx, clientY: cy, buttons: 1}); ” + “emit(‘mouseup’, {clientX: cx, clientY: cy}); ” + “emit(‘mousedown’, {clientX: cx, clientY: cy, buttons: 1}); ” + “emit(‘mouseup’, {clientX: cx, clientY: cy}); ” + “emit(‘click’, {clientX: cx, clientY: cy, detail: 2}); ” + ” ” + “function emit(name, init) { ” + “target.dispatchEvent(new MouseEvent(name, init)); ” + “} ” ;
executeScript()从中调用脚本@Test:
@Test
new Actions(driver).moveToElement(myElem, posX, posY).perform();
((JavascriptExecutor)driver).executeScript(jsDoubleClick, myElem, posX, posY);