网站打不开什么原因,wordpress适合虚拟主机,哔哩哔哩在线看免费观看视频,图片设计制作在我们前面的文章中#xff0c;我们始终使用await page.GotoAsync(url);加载页面#xff0c;我们的目的是等待足够长的时间让页面上的元素出现。但是#xff0c;我们更希望永远不要因为等待浪费任何时间。WaitUntilGotoAsync方法的定义如下#xff1a;TaskIResponse?我们始终使用await page.GotoAsync(url);加载页面我们的目的是等待足够长的时间让页面上的元素出现。但是我们更希望永远不要因为等待浪费任何时间。WaitUntilGotoAsync方法的定义如下TaskIResponse? GotoAsync(string url, PageGotoOptions? options null);而在PageGotoOptions参数中有一个WaitUntil它的作用是判断当前操作是否成功。可选值包括DOMContentLoaded 认为在 DOMContentLoaded 事件完成时操作完成Load 认为在 load 事件完成时操作完成NetworkIdle 认为在至少 500 毫秒内没有网络连接时操作完成Commit 认为接收到网络响应并且文档开始加载时操作完成上述概念从字面上不好理解下面让我们用一个 Demo 来演示一下var url https://stackoverflow.com/;var page1 await browser.NewPageAsync();
await page1.GotoAsync(url, new PageGotoOptions { WaitUntil WaitUntilState.Commit });
await page1.ScreenshotAsync(new PageScreenshotOptions { Path Commit.png, FullPage true });var page2 await browser.NewPageAsync();
await page2.GotoAsync(url, new PageGotoOptions { WaitUntil WaitUntilState.DOMContentLoaded });
await page2.ScreenshotAsync(new PageScreenshotOptions { Path DOMContentLoaded.png, FullPage true });var page3 await browser.NewPageAsync();
await page3.GotoAsync(url, new PageGotoOptions { WaitUntil WaitUntilState.Load });
await page3.ScreenshotAsync(new PageScreenshotOptions { Path Load.png, FullPage true });var page4 await browser.NewPageAsync();
await page4.GotoAsync(url, new PageGotoOptions { WaitUntil WaitUntilState.NetworkIdle });
await page4.ScreenshotAsync(new PageScreenshotOptions { Path NetworkIdle.png, FullPage true });我们用 4 种不同的WaitUntil值等待 https://stackoverflow.com/ 加载完成并截图。下面是对应的效果Commit仅显示了页面默认窗口视图下的元素。DOMContentLoaded显示了完整页面图片太长仅截取了部分。Load和 DOMContentLoaded 的效果基本一样但是包含了所有图片资源。NetworkIdle和 Load 的效果基本一样但是页面顶部出现了警告。这是因为有个 js 文件无法下载,需要等待网络连接超时关闭结论通过上面的 Demo我们已经可以判断出页面加载的整个状态变化如下Commit - DOMContentLoaded - Load - NetworkIdle你可以根据实际情况选择最适合的WaitUntil避免无效的等待。添加微信号【MyIO666】邀你加入技术交流群