簡體   English   中英

如何在JavaScript中雙擊鼠標?

[英]How to make mouse double click in JavaScript?

我需要一個JavaScript代碼來單獨使鼠標雙擊。 我將在Java代碼中使用它。 這是一個用於測試目的的硒項目,但是沒有任何方法可以使鼠標雙擊硒,因此我想使用javaScript在我的Java代碼中執行此操作。 你有什么主意嗎?

這是我的老問題,“如何雙擊網頁上的任何位置?”

他們說我應該使用JavaScript雙擊鼠標,但是怎么做?

As Mozfet says JQuery ! it's so easy with JQuery ! 

$("#myId").trigger('dblclick');

then you listen for this double click 
$("#myId").on('dblclick',function(){
// do it !
});

// you can event make you own event 
$("#myId").trigger('retrieve');

then you listen for this custom event 
$("#myId").on('retrieve',function(){
// do it !
});

我經常在數據表中使用它:如果用戶選擇“打開模式”,則會彈出一個彈出窗口(每行左側td上的一個小菜單),然后觸發雙擊它會轉到已經在等待表的表從用戶上雙擊該行。 所以我不需要執行2個事件

要使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)); " + "} " ; 
  • 通過@Test executeScript()調用腳本:

     new Actions(driver).moveToElement(myElem, posX, posY).perform(); ((JavascriptExecutor)driver).executeScript(jsDoubleClick, myElem, posX, posY); 

使用JQuery:

 $(selector).dblclick()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM