Gabriel
Gabriel

Reputation: 169

Does chrome chrome driver support PageLoadStrategy='eager' for Selenium?

I'm trying to scrape some stuff using Selenium/headless chrome. In some pages, the driver will not move to the next step until the full page is loaded (even though the relevant elements are present).

I tried setting the pageLoadStrategy capability like so:

caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => [ "--headless" ]})
      caps['pageLoadStrategy']='eager'
self.driver||=Selenium::WebDriver.for :chrome, :desired_capabilities =>  caps

I get the following error:

Selenium::WebDriver::Error::UnknownError: unknown error: cannot parse capability: pageLoadStrategy
from unknown error: page load strategy unsupported

Is there a way to make this work with chrome?

According to this post, pageLoadStrategy is supported, but I can't get the 'eager' option to work.

Page load strategy for Chrome driver

If not, are there more tried and true ways of doing this. I've been having a lot of trouble with Chrome (it also doesn't support unexpectedAlertBehaviour)

Upvotes: 4

Views: 5688

Answers (5)

rudevdr
rudevdr

Reputation: 439

ChromeDriver 77.0 (which supports Chrome version 77) now supports eager as pageLoadStrategy.

Resolved issue 1902: Support eager page load strategy [Pri-2]

See release notes

Upvotes: 3

Bipin Kumar Chaurasia
Bipin Kumar Chaurasia

Reputation: 418

https://cs.chromium.org/chromium/src/chrome/test/chromedriver/chrome/page_load_strategy.cc?q=page_load_strategy&sq=package:chromium&dr=C

The corresponding page load strategy for EAGER is not yet supported by chrome.

Upvotes: 1

Ru Lu
Ru Lu

Reputation: 11

For those who are waiting for the "eager" feature. You can check the "CheckSupport" function in the source code.

It seems it is still not supported even for now.

Upvotes: 1

Eimantas G
Eimantas G

Reputation: 1

The eager strategy now seems to be supported by chrome since v66 (source).

Upvotes: 0

Rohit Borse
Rohit Borse

Reputation: 85

Chrome does not support PageLoadStrategy.EAGER. But you can try PageLoadStrategy.NONE. Sometimes you need to synchronize driver wait for some elemnts but possibility is less.

Upvotes: 3

Related Questions