这里是我做的:
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);
链接“mylink”确实存在,第一次调用click()总是工作。但第二次点击()有时似乎工作,有时不是。
看起来click()事件根本没有被触发,因为页面甚至不开始加载。不幸的是,这种行为是管理不足的。
这里是我已经尝试:
>设置较长时间超时
=>没有帮助
>在加载一页后等待一个元素存在
=>不工作,因为页面甚至不开始加载
现在我结束了调用click()两次,所以:
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);
这将工作,但它不是一个很好的解决方案。我也看到在另一个论坛,有人建议写一个像’clickAndWaitWithRetry’:
try {
super.click("link=mylink");
super.waitForPageToLoad(60000);
}
catch (SeleniumException e) {
super.click("link=mylink");
super.waitForPageToLoad(60000);
}
但我认为这也不是一个合适的解决方案。
click()事件为什么有时没有触发任何想法/解释?