摘要:Microsoft.Playwright 是由微软开发的开源自动化测试工具,支持多种编程语言(如 C#、JavaScript、Python 等)和主流浏览器(Chromium、Firefox、WebKit)。它通过统一的 API 提供跨浏览器的自动化能力,广泛
Microsoft.Playwright 是由微软开发的开源自动化测试工具,支持多种编程语言(如 C#、JavaScript、Python 等)和主流浏览器(Chromium、Firefox、WebKit)。它通过统一的 API 提供跨浏览器的自动化能力,广泛应用于 Web 应用的端到端测试、爬虫开发和自动化任务,支持无头模式、设备仿真、截图等功能,帮助开发者高效实现自动化测试和开发任务。
第一步老规矩,安装Nuget包
dotnet add package Microsoft.Playwright
下面是使用 Playwright 在必应浏览器中输入“dotnetshare”并截屏的操作。
// See https://aka.ms/new-console-template for more informationusing System.Text.RegularExpressions;
using Microsoft.Playwright;
Console.WriteLine("Hello, World!");
// 创建 Playwright 实例
usingvar playwright = await Playwright.CreateAsync;
// 指定浏览器的可执行文件路径
stringexecutablePath = @"C:\Program Files\Google\Chrome\Application\chrome.exe";
// 启动浏览器(Chromium)
awaitusingvar browser = await playwright.Chromium.LaunchAsync(
new BrowserTypeLaunchOptions {
Headless =false
ExecutablePath = executablePath,
}
);
// 创建新页面
var page = await browser.NewPageAsync;
// 打开目标网页
await page.GotoAsync("https://cn.bing.com/");
// 定位搜索框并输入“Netshare”
var searchBox = page.Locator("input[name='q']");
await searchBox.FillAsync("dotnetshare");
// 模拟按下回车键进行搜索
await searchBox.PressAsync("Enter");
// 等待页面加载完成
await page.RunAndWaitForConsoleMessageAsync(async => {
}
);
Thread.Sleep(2000);
// 截图保存搜索结果页面
await page.ScreenshotAsync(new PageScreenshotOptions { Path = "bing-search-result.png" });
// 选择下拉框中的选项
//await page.SelectOptionAsync("select[name='name']", "dotnetshare");
// 找到文件上传输入框
//var fileInput = await page.QuerySelectorAsync("input[type='file']");
// 上传文件
//string filePath = "C:\\Users\\Pride\\Pictures\\20210517111144223.png";
//await fileInput.SetInputFilesAsync(filePath);
// 提取页面标题
//string title = await page.TitleAsync;
//Console.WriteLine("Page title: " + title);
// 等待表格加载完毕
//await page.WaitForSelectorAsync("table");
// 获取表格内容
//var tableHtml = await page.InnerHTMLAsync("table");
// 使用正则表达式提取表格数据
//var regex = new Regex(@"(.*?)");
//var matches = regex.Matches(tableHtml);
// 关闭浏览器
//await browser.CloseAsync;
Playwright 是一个非常强大的自动化工具,提供了丰富的功能,用于测试、爬虫开发和自动化操作。
官方文档:https://learn.microsoft.com/zh-cn/microsoft-edge/playwright/
来源:opendotnet
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!