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