0


Selenium 页面加载策略

共有三种类型的页面加载策略.

页面加载策略可以在此链接查询 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()

本文转载自: https://blog.csdn.net/TalorSwfit20111208/article/details/130996848
版权归原作者 知识的宝藏 所有, 如有侵权,请联系我们删除。

“Selenium 页面加载策略”的评论:

还没有评论