Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Отключить ожидание загрузки в Webdriver


(Nick Zac) #1

Подскажите пожалуйста, я использую циклический обход вкладок в поисках элемента. проблема в том что пока загружается страница, webdriver тормозит поток и ждет загрузки страницы. Можно ли отключить проверку загрузки, чтобы пока загружается страница драйвер выбивал бы исключение и переходил на следующую вкладку, но не останавливал загрузку страницы? Использование нескольких потоков не решает проблему т.к нужен один экземпляр драйвера. Заранее благодарен


(Рома Иовлев) #2

driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);


(sidelnikovmike) #3

А вот не понятно, загрузка страницы - это тоже к имплицидным?


(Nick Zac) #4

implicitlyWait не решает проблему загрузки страницы, а SetPageLoadTimeout останавливает загрузку . Драйвер, наверное ,ждет пока document.readyState == complete после этого к нему только можно обратиться, если как-нибудь это можно было бы обойти или отключить.


(Sergey Korol) #5

Не совсем понятна суть эксперимента. Что вы ожидаете получить от недогруженной страницы? Как вы собрались переключаться на другую вкладку, если ее еще может не быть в DOM?


(vmaximv) #6

Рискну предположить, что при переходе на новую вкладку необходимый контент загружается быстро, а ненужные “концы” непозволительно долго и автор темы хочет их “сбросить в воду” :smile:
Если это так, то было бы неплохо озвучить целевой браузер.
По ФФ можно так:

[quote]-Beta- load fast preference
There is beta feature to make firefox not wait for the full page to load after calling .get or .click. This may cause immediate find’s to break, so please be sure to use an implicit or explicit wait too.[/quote]

Ну а универсальным решением будет прокси.


(Nick Zac) #7

А по подробнее можно про прокси??? Браузер хром.


(Jane Tymoschuk) #8
driver.manage().timeouts().pageLoadTimeout(500, TimeUnit.MILLISECONDS);

если установить в 0, то как раз будет ждать полной загрузки, а так, насколько я помню, эксепшена не будет, но со страницей взаимодействовать сможет
Естественно таймаут можно варьировать.
Я так понимаю страница сама по себе прогружается корректно, а вот какие-нибудь сторонние пиксели или скрипты периодически подвисают :smile: