3
votes

I need to now how to fire a mouse click event on a button automatically. I have this but doesn't work :(

window.setInterval(function() { simulateClick(); }, 2000);

function simulateClick() {
    var evt = document.createEvent("MouseEvents");
    evt.initMouseEvent("click", false, false, window, 0, 684, 571, 684, 508, false, false, false, false, 0, null);
        var a;
    a.dispatchEvent(evt);
}

Thanks in advance

Oscar

2
My guess is that you're not initiating a. IT just says "var a;" but you never specify which element it is. Other than that I think it looks fine.Mamsaac
If you want to simulate for testing purposes you can use selenium seleniumhq.orgariel
Looks like you're trying to do this: stackoverflow.com/questions/6157929/…Nate

2 Answers

2
votes

If all you want to do is click a button, button elements have a click method that can be invoked:

<input type="button" id="theButton" onclick="javascript:alert('The button was clicked!');" value="A button" />

<script language="javascript">

setTimeout(function(){
    document.getElementById("theButton").click();
}, 1000); // wait one second then click the button

</script>

There's no need to "actually" simulate the mouse click at a specific x,y position.

1
votes

I dont know if its posible to do that on javascript but if you need automatic and periodic clicks maybe you can do that with external tools like autohotkey