Selenium - Как дождаться полной загрузки страницы [дубликата]

На этот вопрос уже есть ответ здесь:

Дождитесь загрузки страницы в Selenium 45 ответов

Я пытаюсь автоматизировать некоторые тестовые случаи, используя Java и Selenium WebDriver. У меня есть следующий сценарий:

Есть страница под названием «Продукты». Когда я нажимаю на ссылку «Подробнее» на странице «Продукт», появляется всплывающее окно (модальное диалоговое окно), содержащее сведения об элементе.Когда я нажимаю на кнопку «Закрыть» во всплывающем окне, всплывающее окно закрывается, и страница автоматически обновляется (страница просто перезагружается, содержимое остается неизменным).

После закрытия всплывающего окна мне нужно нажать кнопку «Добавить элемент» на той же странице. Но когда WebDriver пытается найти кнопку «Добавить элемент», если скорость интернета слишком высока, WebDriver может найти и щелкнуть элемент.

Но если интернет работает медленно, WebDriver находит кнопку до обновления страницы, но как только WebDriver нажимает на кнопку, страница обновляется иStaleElementReferenceException происходит.

Даже если используются разные ожидания, все условия ожидания становятся истинными (поскольку содержимое страницы одинаково до и после перезагрузки) даже до перезагрузки страницы иStaleElementReferenceException происходит.

Тестовый пример работает нормально, еслиThread.sleep(3000); используется перед нажатием на кнопку «Добавить элемент». Есть ли другой способ обойти эту проблему?

Ответы на вопрос(5)

Ваш ответ на вопрос