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 页面加载策略”的评论:

还没有评论