Selenium отличный инструмент для тестирования web-приложений. Но Firefox очень прожорливый браузер и это чересчур заметно после запуска скриптов на несколько часов.
Приятным удивлением был Chrome/Chromium который заметно быстрей, при той же логике работы. Хотя не без косяков. Насколько мне известно, еще до сих пор в ChromeDriver, для Selenium, нету нормальный таймаутов, при загрузке документа. По крайней мере, встроенный метод set_page_load_timeout постоянно отдавал:
1) Исполнение js, а именно window.stop() не происходит, если страница не загруженная полностью.
2) Внутреннего метода по остановке загрузки документа нету. Так как WebDriver, со слов разработчиков, эмулирует только работу пользователя внутри страницы, а не целого браузера.
Приятным удивлением был Chrome/Chromium который заметно быстрей, при той же логике работы. Хотя не без косяков. Насколько мне известно, еще до сих пор в ChromeDriver, для Selenium, нету нормальный таймаутов, при загрузке документа. По крайней мере, встроенный метод set_page_load_timeout постоянно отдавал:
selenium.common.exceptions.WebDriverException: Message: '{"status":405,"value":["GET","HEAD","DELETE"]}'Но кое-какое решение нашлось, через модуль socket:
socket.setdefaulttimeout(10)И это вроде единственный из возможных вариантов, если быть точным, единственный известный мне :) Потому что:
try:
driver.get('http://google.com')
except socket.timeout:
driver.quit()
1) Исполнение js, а именно window.stop() не происходит, если страница не загруженная полностью.
2) Внутреннего метода по остановке загрузки документа нету. Так как WebDriver, со слов разработчиков, эмулирует только работу пользователя внутри страницы, а не целого браузера.
Комментариев нет:
Отправить комментарий