I am using Chrome extensions API to debug a tab and try to perform series of actions on my web app.
To perform click operations using debugger, I am using Input.dispatchMouseEvent method from debugger protocol.
Here's a snippet that does it.
var mouseMoved = {
type: 'mouseMoved',
x: result.x,
y: result.y,
modifiers: 0,
button: 'none',
clickCount: 0
};
var mousePressed = {
type: 'mousePressed',
x: result.x,
y: result.y,
modifiers: 0,
button: 'left',
clickCount: 1
};
var mouseReleased = {
type: 'mouseReleased',
x: result.x,
y: result.y,
modifiers: 0,
button: 'left',
clickCount: 1
};
chrome.debugger.sendCommand(debuggee, 'Input.dispatchMouseEvent', mouseMoved, function(resultMove) {
if(resultMove.error) {
console.log('Error!');
return;
}
});
chrome.debugger.sendCommand(debuggee, 'Input.dispatchMouseEvent', mousePressed, function(resultPress) {
if(resultPress.error) {
console.log('Error!');
return;
}
});
chrome.debugger.sendCommand(debuggee, 'Input.dispatchMouseEvent', mouseReleased, function(resultRelease) {
if(resultRelease.error) {
console.log('Error!');
return;
}
});
When I try to execute this command on the page and track events being fired, I only get 'mousemove', 'mousedown' and 'mouseup' being fired. But 'click' event is not fired.
Am I doing something wrong? How to get debugger to fire 'click' event as well?
Thanks,
Vivek