前言
Playwright 可以导航到 URL 并处理由页面交互引起的导航。本篇涵盖了等待页面导航和加载完成的常见场景。
导航生命周期
导航从更改页面 URL 或通过与页面交互(例如,单击链接)开始。导航意图可能会被取消,例如,在点击未解析的 DNS 地址或转换为文件下载时。
解析响应标头并更新会话历史记录后,将提交导航。只有在导航成功(提交)后,页面才会开始加载文档。
加载包括通过网络获取剩余的响应主体、解析、执行脚本和触发加载事件:
调用 page.goto(url) 后页面加载过程:
- page.url 设定新的 url
- document 文档内容通过网络加载并解析
- page.on(“domcontentloaded”) 事件触发
- 执行页面的 js 脚本,页面执行一些脚本并加载 css 和图像等资源
- page.on(“load”) 事件触发
- 页面执行动态加载的脚本
networkidle
当 500 毫秒内没有新的网络请求时触发
事件状态
导航到 URL 会自动等待页面触发事件load
。如果页面之前进行了客户端重定向load
,page.goto()将自动等待