Поддерживает ли драйвер Chrome Chrome PageLoadStrategy='eager' для Selenium?
Я пытаюсь кое-что почистить, используя Selenium / безголовый хром. На некоторых страницах драйвер не перейдет к следующему шагу, пока не будет загружена полная страница (даже если присутствуют соответствующие элементы).
Я попытался установить возможность pageLoadStrategy следующим образом:
caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => [ "--headless" ]})
caps['pageLoadStrategy']='eager'
self.driver||=Selenium::WebDriver.for :chrome, :desired_capabilities => caps
Я получаю следующую ошибку:
Selenium::WebDriver::Error::UnknownError: unknown error: cannot parse capability: pageLoadStrategy
from unknown error: page load strategy unsupported
Есть ли способ заставить это работать с хромом?
Согласно этому сообщению, pageLoadStrategy поддерживается, но я не могу заставить работать 'нетерпеливый' вариант.
Стратегия загрузки страницы для драйвера Chrome
Если нет, есть ли более проверенные и верные способы сделать это. У меня были большие проблемы с Chrome (он также не поддерживает неожиданный AlertBehaviour)
1 ответ
ChromeDriver 77.0 (который поддерживает Chrome версии 77) теперь поддерживаетeager
как pageLoadStrategy.
Решенная проблема 1902: поддержка стратегии активной загрузки страницы [Pri-2]
Chrome не поддерживает PageLoadStrategy.EAGER. Но вы можете попробовать PageLoadStrategy.NONE. Иногда вам нужно синхронизировать драйвер, ожидая некоторых элементов, но вероятность меньше.
Для тех, кто ждет "нетерпеливую" функцию. Вы можете проверить функцию "CheckSupport" в исходном коде.
Кажется, это все еще не поддерживается даже сейчас.
Соответствующая стратегия загрузки страницы для EAGER еще не поддерживается chrome.
Стремительная стратегия теперь поддерживается chrome начиная с v66 ( источник).