Simulating click doesn't work with Mozilla in some cases

F

firefox.coder

I'm writing code that plays back web transactions by acting like a real
user. I'm currently trying to get this working in Mozilla-based
browsers. I simulate mouse clicks with the following code (where node
is the element I'm sending the click to):

var evt = node.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, node.ownerDocument.defaultView,
1, 0, 0, 0, 0, false, false, false, false, 0, null);
node.dispatchEvent(evt);

This works in almost all cases, links, buttons, images within links,
etc.
Starting with Firefox 1.5, this stopped working on simple popups
(prompt, confirm, alert, basic auth) It worked on Firefox 1.0.x and
Mozilla 1.7.2. What's strange is that it has actually worked in
Firefox 1.5 a few times but I have no idea why. I've probably tried it
at least 50 times while trying to debug.

Another case is gmail. I've never gotten this to work when I want to
simulate a click on an email message in gmail. I'm sure that I've got
the right node during playback, but the click doesn't do anything. I'm
not sure if gmail is doing something funny on the page or if there's
some problem with this being in an iframe which is in a frame. My code
handles Frames and IFrames just fine on other web sites.

In the cases where this doesn't work, there is no exception or
javascript error. The function keeps executing like nothing happened.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top