sowinworkTwo 2023-10-21 17:57 采纳率: 100%
浏览 41
已结题

求C# Playwright自动化示例

求C# Playwright自动化示例 要求可用 (以下凑字数,以下凑字数,以下凑字数)

  • 写回答

17条回答 默认 最新

  • 社区专家-Monster-XH 2023-10-21 17:58
    关注

    基于Monster 组和GPT的调写:

    • 一个简单的 C# Playwright 自动化示例,该示例将启动 Chromium 浏览器,打开一个网页,捕获屏幕截图,并关闭浏览器。

    先要确保已经安装了 Playwright。用 .NET CLI 安装 Playwright:

    using System;
    using System.Threading.Tasks;
    using Microsoft.Playwright;
    
    class Program
    {
        public static async Task Main()
        {
            Console.WriteLine("启动 Playwright...");
    
            // 创建一个 Playwright 实例
            using var playwright = await Playwright.CreateAsync();
            Console.WriteLine("Playwright 已启动。");
    
            // 启动 Chromium 浏览器
            Console.WriteLine("正在启动浏览器...");
            await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions
            {
                Headless = false // 浏览器将在非无头模式下启动,你将看到图形界面
            });
            Console.WriteLine("浏览器已启动。");
    
            // 创建一个浏览器页面
            Console.WriteLine("正在创建新页面...");
            var page = await browser.NewPageAsync();
            Console.WriteLine("新页面已创建。");
    
            // 导航到指定的 URL
            Console.WriteLine("正在导航到 https://baidu.com...");
            await page.GotoAsync("https://baidu.com");
            Console.WriteLine("导航完成。");
    
            // 捕获并保存屏幕截图
            Console.WriteLine("正在捕获屏幕截图...");
            await page.ScreenshotAsync(new PageScreenshotOptions { Path = "screenshot.png" });
            Console.WriteLine("屏幕截图已保存。");
    
            // 关闭浏览器
            Console.WriteLine("正在关闭浏览器...");
            await browser.CloseAsync();
            Console.WriteLine("浏览器已关闭。");
        }
    }
    

    在运行此脚本之前,请确保你的项目引用了 Microsoft.Playwright 包,并且已经运行了 playwright install 命令来下载必要的浏览器二进制文件。

    这个脚本执行以下操作:

    1. 启动 Chromium 浏览器。
    2. 打开一个新的页面选项卡。
    3. 导航到 "https://example.com"。
    4. 捕获当前页面的屏幕截图并将其保存为 "screenshot.png"。
    5. 关闭浏览器。

    确保在一个支持异步 main 方法的环境中运行此脚本(例如,.NET Core 3.0 或更高版本)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(16条)

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 创建了问题 10月21日

悬赏问题

  • ¥15 平板录音机录音问题解决
  • ¥15 请问维特智能的安卓APP在手机上存储传感器数据后,如何找到它的存储路径?
  • ¥15 (SQL语句|查询结果翻了4倍)
  • ¥15 Odoo17操作下面代码的模块时出现没有'读取'来访问
  • ¥50 .net core 并发调用接口问题
  • ¥15 网上各种方法试过了,pip还是无法使用
  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 Hadoop集群部署启动Hadoop时碰到问题
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启