Всем привет:) Подскажите, есть ли в WebDriver какой нибудь метод или аннотация, которая позволит выполнять действия на странице не дождиаясь ее полной загрузки?
Дело в том, что в моем проекте, очень много партнерских скриптов и когда начинает грузитсья страница, она не будет полностью прогруженна, пока не отработают все скрипты на партнерской стороне. Таким образом, DOM уже загружен, а скрипты еще не все отработали. Есть ли какой, то способ загрузить страницу(выделить на это время секунды 4-е) и начать выполнение действий на ней?
Один поток выполняет get, второй в цикле проверяет подгрузился нужный элемент или нет (или отсчитывает время), и выполняет команду прерывание загрузки.
Добавил строку driver.manage().timeouts().pageLoadTimeout(3, TimeUnit.SECONDS); Не сработало, DOM прогрузился, и пошло опять ожидание отработки скриптов. WebDriver терпеливо ждал все это время:)
Попробуйте добавить свой скрипт (к примеру, внешний файл) на серверной стороне, который будет выполняться перед партнерскими скрипками, выкидывать какую-нибудь ошибку, и загрузка страницы остановится. В ие точно должна быть такая возможность, наверное, и в других браузерах тоже. Из тестового кода заинжектить скрипт не удастся , загрузка страницы все сотрет.