Как сразу вызвать driver.quit () в Selenium?
Всякий раз, когда я звоню
driver.quit()
он ждет, пока веб-сайт сначала завершит загрузку, а затем закрывает браузер, есть ли способ немедленно закрыть браузер?
1 ответ
Когда вы вызываете
get()
для
url
при использовании Selenium под капотом происходит множество действий, включая HTTP-запросы, полученные geckodriver, пакеты, отправляемые в удаленный протокол и из него в Firefox, и ответы, отправляемые обратно вашему клиенту .
Как только основные обязательные запросы/ответы успешно завершены, на основе pageLoadStrategy браузер, т. е. клиент, отправляет управление программой обратно в Selenium для выполнения следующей строки кода.
В настоящее время
pageLoadStrategy
может быть одним из следующих:
- normail : эта стратегия заставляет Selenium ожидать полной загрузки страницы (загрузка и анализ HTML-контента и подресурсов).
- нетерпеливый : этот stategy заставляет Selenium ожидать события DOMContentLoaded (только загруженный и проанализированный HTML-контент).
- none : эта стратегия заставляет Selenium возвращаться сразу после того, как исходное содержимое страницы полностью получено (загружен HTML-контент).
Поэтому, как только управление программой возвращается обратно в Selenium на основе pageLoadStrategy , которая несколько ограничена по времени, тогда только
driver.quit()
может быть выполнено.