Microsoft.Playwright web操作基础使用

复制代码
 1  //如果没有下载驱动.可以使用以下代码自动安装 (以下代码仅供参考)          
 2 //Microsoft.Playwright.Program.Main(new[] { "install" });
 3             var playwright = await Playwright.CreateAsync();
 4        //BrowserTypeLaunchPersistentContextOptions  不是必须的.供参考
 5             BrowserTypeLaunchPersistentContextOptions bto = new BrowserTypeLaunchPersistentContextOptions { Headless = false, ExecutablePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "chromedriver_win32", "chrome-win", "chrome.exe") };
 6             //bto.IgnoreDefaultArgs = new[] { "--enable-automation" };
 7             //bto.IgnoreAllDefaultArgs = true;
 8             var browser = await playwright.Chromium.LaunchPersistentContextAsync(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "chromedriver_win32", "webDir"), bto);
 9             //https://www.selenium.dev/documentation/webdriver/browsers/chrome/ 查询浏览器的可用参数
10 
11             var page = browser.Pages.First();
12 
13 
14             await page.GotoAsync("https://fanyi.youdao.com/index.html#/");
15             await page.AddScriptTagAsync(new PageAddScriptTagOptions() { Path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "files", "jquery-3.4.1.min.js") });
16            //下载数据.
17            var down = page.RunAndWaitForDownloadAsync(async () =>
18                   {
19                       await page.EvaluateAsync("$('.download .item:eq(0)').click()");
20                   });
21             await Task.WhenAny(down, Task.Delay(6 * 60 * 1000));
22             var dd = await down;
23             Stream sm = await dd.CreateReadStreamAsync();
24             await browser.CloseAsync();
25             await browser.DisposeAsync();
26             playwright.Dispose();
复制代码

 

posted @   望着天的蜗牛  阅读(141)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示