Cũng có thể nhấp đúp với PhantomJS.
Được đề xuất
Điều này được điều chỉnh từ câu trả lời của stovroz và kích hoạt một bản địa dblclickbao gồm mousedown, mouseupvà clickcác sự kiện (hai trong số mỗi sự kiện).
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);
Những cách khác
Hai cách sau đây chỉ kích hoạt dblclicksự kiện, nhưng không kích hoạt các sự kiện khác trước nó.
Phỏng theo câu trả lời này của 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);
Phỏng theo câu trả lời này của Jobins John :
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);
Tập lệnh thử nghiệm đầy đủ