Как сразу вызвать 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()может быть выполнено.

Другие вопросы по тегам