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 dblclick
bao gồm mousedown
, mouseup
và click
cá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 dblclick
sự 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 đủ