共有三种类型的页面加载策略.
页面加载策略可以在此链接查询 document.readyState , 如下表所述:
策略就绪状态备注normalcomplete默认值, 等待所有资源下载eagerinteractiveDOM 访问已准备就绪, 但诸如图像的其他资源可能仍在加载noneAny完全不会阻塞 WebDriver
文档的
document.readyState
属性描述当前文档的加载状态。
当通过URL导航到新页面时, 默认情况下, WebDriver将暂缓完成导航方法 (例如, driver.navigate().get())直到文档就绪状态完成. 这 并非意味着该页面已完成加载, 特别是对于使用 JavaScript 在就绪状态返回完成后 动态加载内容单页应用程序的站点. 另请注意此行为不适用于单击元素或提交表单后出现的导航行为。
如果由于下载对自动化不重要的资源(例如, 图像、css、js) 而需要很长时间才能加载页面, 您可以将默认参数
normal
更改为
eager
或
none
以加快会话加载速度. 此值适用于整个会话, 因此请确保您的 等待策略 足够普适。
normal (默认值)
WebDriver一直等到 load 事件触发并返回。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.page_load_strategy = 'normal'
driver = webdriver.Chrome(options=options)
driver.get("http://www.google.com")
driver.quit()
eager
WebDriver一直等到 DOMContentLoaded 事件触发并返回。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.page_load_strategy = 'eager'
driver = webdriver.Chrome(options=options)
driver.get("http://www.google.com")
driver.quit()
none
WebDriver 仅等待初始页面已下载。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.page_load_strategy = 'none'
driver = webdriver.Chrome(options=options)
driver.get("http://www.google.com")
driver.quit()
版权归原作者 知识的宝藏 所有, 如有侵权,请联系我们删除。