Вот что я делаю:
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 () иногда не вызывается?