Как дождаться загрузки страницы в selenium webdriver

Я использую selenium-server-3.7.1 и Firefox 57.

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

Я попытался выполнить следующие действия: return ((JavascriptExecutor) driver).executeScript("return document.readyState").equals("complete");

Но это не работает

По сути, приведенная выше команда не распознает следующие операции [testng] 1535139249496 addons.productaddons INFO, отправив запрос на: https://aus5.mozilla.org/update/3/GMP/57.0.4/20180103231032/Linux_x86_64-gcc3/en-US/release/Linux%204.1.12-112.14.10.el7uek.x86_64%20(GTK%203.22.10%2Clibpulse%2010.0.0)/default/default/update.xml [testng] 1535139249669 addons.productaddons INFO Завершенная загрузка документа [testng] 1535139249818 addons.productaddons INFO downloadXHR Загрузка файла. status=200 [testng] 1535139249821 addons.productaddons INFO Загруженный файл будет сохранен в /tmp/tmpaddon-c61a84 [testng] 1535139738375 addons.manager INFO Пропуск фоновой проверки обновлений [testng] 1535139978387 DeferredSave.extensions.json DEBUG Сохранить изменения [testng] 1535139978387 DeferredSave.extensions.json DEBUG Таймер запуска [testng] 1535139978409 DeferredSave.extensions.json DEBUG Начало записи [testng] 1535139978412 DeferredSave.extensions.json DEBUG Запись выполнена успешно

Я дал жесткий сон на 30 секунд, чтобы завершить эти операции. Есть ли способ дождаться завершения этих операций?


person Venu    schedule 24.08.2018    source источник


Ответы (2)


В сценарии автоматизации необходимо ожидать несколько экземпляров. Нельзя использовать Thread.Sleep(); каждый раз. Страница должна ждать загрузки JQuery, JavaScript, Angular. И с которым не справится только document.readyState Приходится ждать всех веществ, если приложение построено. Таким образом, мы можем создать один метод для ожидания загрузки страницы, и этот метод может вызываться несколько раз.

Это ссылка на блог для того же, что поможет вам понять это. Нажмите здесь

Вы можете включить те методы, на которых построено ваше приложение.

Если ссылка на блог может быть утеряна, для нее доступен пример проекта Github. Нажмите здесь

person Ishita Shah    schedule 25.08.2018

Wait wait = new FluentWait(driver)
.withTimeout(30000, TimeUnit.SECONDS) .pollingEvery(5, TimeUnit.SECONDS) .ignoring(NoSuchElementException.class);

Надеюсь, что это поможет вам

person YaDav MaNish    schedule 27.08.2018
comment
Пожалуйста, опишите это так, чтобы спрашивающий понял это - person iamsankalp89; 12.09.2018