PhantomJS로 더블 클릭도 가능합니다.
추천
이것은 stovroz 의 답변 에서 수정 되었으며 , 및 이벤트 (각각 2 개)를 dblclick
포함 하는 네이티브 를 트리거합니다 .mousedown
mouseup
click
var rect = page.evaluate(function(selector){
return document.querySelector(selector).getBoundingClientRect();
}, selector);
page.sendEvent('doubleclick', rect.left + rect.width / 2, rect.top + rect.height / 2);
다른 방법들
다음 두 가지 방법은 dblclick
이벤트를 뿐 선행해야하는 다른 이벤트는 하지 않습니다.
에서 적응 이 답변 의 torazaburo :
page.evaluate(function(selector){
var el = document.querySelector(sel);
var ev = document.createEvent("MouseEvent");
ev.initMouseEvent(
'dblclick',
true , true ,
window, null,
0, 0, 0, 0,
false, false, false, false,
0 , null
);
el.dispatchEvent(ev);
}, selector);
에서 적응 이 답변 의 Jobins 존 :
page.evaluate(function(selector){
var el = document.querySelector(sel);
var e = document.createEvent('MouseEvents');
e.initMouseEvent('dblclick', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
el.dispatchEvent(e);
}, selector);
전체 테스트 스크립트