Page load strategy for Chrome driver

這篇文章跟大家分享 selenium 的 pageLoadStrategy 參數如何設定。


When Selenium loads a page/url by default it follows a default configuration with pageLoadStrategy set to normal. To make Selenium not to wait for full page load we can configure the pageLoadStrategypageLoadStrategy supports 3 different values as follows:

  1. normal (full page load)
  2. eager (interactive)
  3. none

Here is the code block to configure the pageLoadStrategy :

  • Firefox :from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().FIREFOX caps["pageLoadStrategy"] = "normal" # complete #caps["pageLoadStrategy"] = "eager" # interactive #caps["pageLoadStrategy"] = "none" driver = webdriver.Firefox(desired_capabilities=caps, executable_path=r'C:\path\to\geckodriver.exe') driver.get("")
  • Chrome :from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().CHROME caps["pageLoadStrategy"] = "normal" # complete #caps["pageLoadStrategy"] = "eager" # interactive #caps["pageLoadStrategy"] = "none" driver = webdriver.Chrome(desired_capabilities=caps, executable_path=r'C:\path\to\chromedriver.exe') driver.get("")

Note : pageLoadStrategy values normaleager and none is a requirement as per WebDriver W3C Editor’s Draft but pageLoadStrategy value as eager is still a WIP (Work In Progress) within ChromeDriver implementation. You can find a detailed discussion in “Eager” Page Load Strategy workaround for Chromedriver Selenium in Python

———ChromeDriver 77.0.3865.10 (2019-08-06)———
Supports Chrome version 77

  • Resolved issue 1902: Support eager page load strategy [Pri-2]
  • Resolved issue 2809: ChromeDriver waits for all child frames to be ready when pageLoadStrategy != none [Pri-2]

v77 之後的 ChromeDriver 可以使用上述的方式來設定 eager page load strategy

From the Webdriver specs:

For commands that cause a new document to load, the point at which the command returns is determined by the session’s page loading strategy.

When Page Loading takes too much time and you need to stop downloading additional subresources (images, css, js etc) you can change the pageLoadStrategy through the webdriver.

As of this writing, pageLoadStrategy supports the following values :

  1. normalThis stategy causes Selenium to wait for the full page loading (html content and subresources downloaded and parsed).
  2. eagerThis stategy causes Selenium to wait for the DOMContentLoaded event (html content downloaded and parsed only).
  3. noneThis strategy causes Selenium to return immediately after the initial page content is fully received (html content downloaded).

By default, when Selenium loads a page, it follows the normal pageLoadStrategy.


The Desired Capabilities implementation.



發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *