Обходной путь стратегии загрузки страницы для Selenium Chromedriver в Python

Я хочу ускорить время загрузки страниц на селене, потому что мне не нужно ничего, кроме HTML (я пытаюсь очистить все ссылки, используя BeautifulSoup). Использование PageLoadStrategy.NONE не работает для очистки всех ссылок, и Chrome больше не поддерживает PageLoadStrategy.EAGER. Кто-нибудь знает обходной путь для получения PageLoadStrategy.EAGER в Python?

2 ответа

Решение

ChromeDriver - это автономный сервер, который реализует проводной протокол WebDriver для Chromium. Chrome и Chromium все еще находятся в процессе внедрения и перехода на стандарт W3C. В настоящее время ChromeDriver доступен для Chrome на Android и Chrome на рабочем столе (Mac, Linux, Windows и ChromeOS).

Согласно текущему проекту редактора WebDriver W3C Ниже приведена таблица стратегий загрузки страниц, которая связывает ключевое слово возможности pageLoadStrategy с состоянием стратегии загрузки страниц и показывает, какое состояние готовности документа соответствует ему:

стратегия загрузки страницы

Однако, если вы наблюдаете текущую реализацию ChromeDriver, Chrome DevTools учитывает следующий document.readyStates:

  • document.readyState == 'complete'
  • document.readyState == 'interactive'

Вот пример соответствующего журнала:

[1517231304.270][DEBUG]: DEVTOOLS COMMAND Runtime.evaluate (id=11) {
   "expression": "var isLoaded = document.readyState == 'complete' ||    document.readyState == 'interactive';if (isLoaded) {  var frame = document.createElement('iframe');  frame.name = 'chromedriver dummy frame'; ..."
}

В соответствии с состоянием WebDriver вы найдете список всех команд WebDriver и их текущую поддержку в ChromeDriver в зависимости от того, что указано в спецификации WebDriver. Как только реализация будет завершена по всем аспектам, PageLoadStrategy.EAGER будет обязательно присутствовать в Chrome Driver.

Вы используете только normal или же none как pageLoadStrategy в chromdriver, Так что либо выбирай none и обрабатывать все самостоятельно или дождаться загрузки страницы, как это обычно происходит

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