Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in DevOps and Agile by (19.7k points)

Here's what I did:

selenium.click("link=mylink");

selenium.waitForPageToLoad(60000);

// do something, then navigate to a different page 

// (window focus is never changed in-between)

selenium.click("link=mylink");

selenium.waitForPageToLoad(60000);

The link "mylink" does exist, the first invocation of click() always works. But the second click() sometimes seems to work, sometimes not.

It looks like the click() event is not triggered at all because the page doesn't even start to load. Unfortunately, this behavior is nondeterministic.

Here's what I already tried:

  1. Set longer time timeout

         => did not help

     2. Wait for an element present after loading one page

         => doesn't work either since the page does not even start to load

For now, I ended up invoking click() twice, so:

selenium.click("link=mylink");

selenium.waitForPageToLoad(60000);

// do something, then navigate to a different page 

// (window focus is never changed in-between)

selenium.click("link=mylink");

selenium.click("link=mylink");

selenium.waitForPageToLoad(60000);

That will work, but it's not a really nice solution. I've also seen in another forum where someone suggested to write something like a 'clickAndWaitWithRetry':

  try {

      super.click("link=mylink");

      super.waitForPageToLoad(60000);

  }

  catch (SeleniumException e) {

      super.click("link=mylink");

      super.waitForPageToLoad(60000);

  }

But I think that is also not a proper solution. Any ideas/explanations why the click() event is sometimes not triggered?

1 Answer

0 votes
by (62.9k points)

Try selenium.pause before selenium.click command. I can say this( selenium.pause) finally solved the problem for me.

Hope this will solve your problem as well

Browse Categories

...