网站的域名是什么意思,wordpress特效代码,合肥网站推广 公司哪家好,html5网站欣赏前言如何将网页生成预览图#xff1f;要实现这个功能#xff0c;可以用WebBrowser组件模拟浏览器#xff0c;或者使用系统浏览器访问网页#xff0c;再进行截图操作。但是#xff0c;这样需要编写大量的控制代码。工欲善其事#xff0c;必先利其器#xff01;利用Playwr… 前言如何将网页生成预览图要实现这个功能可以用WebBrowser组件模拟浏览器或者使用系统浏览器访问网页再进行截图操作。但是这样需要编写大量的控制代码。工欲善其事必先利其器利用Playwright提供的强大API可以轻松实现将网页生成预览图。Screenshot实现起来非常简单直接上代码static async Task Main(string[] args)
{var playwright await Playwright.CreateAsync();await using var browser await playwright.Chromium.LaunchAsync();var page await browser.NewPageAsync();await page.GotoAsync(https://cn.bing.com/search?qintext%3A%22%E8%AF%B7%E5%85%B3%E6%B3%A8%E6%88%91%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%85%AC%E4%BC%97%E5%8F%B7%E2%80%9DMyIO%E2%80%9C%22);await page.ScreenshotAsync(new PageScreenshotOptions { Path screenshot.png, FullPage true});
}访问网页截取成长图并保存到指定路径。API详细说明请参看https://playwright.dev/dotnet/docs/api/class-page#page-screenshotTracing这个功能可以记录Playwright执行的所有操作流程并截图对于获取演示素材非常有用。下面的示例代码记录了打开bing首页并且执行搜索操作的全过程static async Task Main(string[] args)
{var playwright await Playwright.CreateAsync();var browser await playwright.Chromium.LaunchAsync();var context await browser.NewContextAsync();await context.Tracing.StartAsync(new TracingStartOptions() { Screenshots true , Snapshots true });var page await context.NewPageAsync();await page.GotoAsync(https://cn.bing.com/);// 输入搜索关键字await page.TypeAsync(input[nameq], intext:\请关注我的个人公众号”My IO“\);var page1 await page.RunAndWaitForNavigationAsync(async () {// 点击搜索await page.ClickAsync(#search_icon);});await context.Tracing.StopAsync(new TracingStopOptions() { Path trace.zip });
}可以使用Playwright自带的view工具查看整个流程playwright show-trace bin\Debug\net5.0\trace.zip也可以解压trace.zip拿到所有的截屏图片结论有了Playwright再也不怕要求实现网页加载后将页面截取成长图片功能了。如果你觉得这篇文章对你有所启发请关注我的个人公众号”My IO“