Playwright C# 自动登录并上传 Excel 文件 的可运行示例

发布于:2025-08-10 ⋅ 阅读:(23) ⋅ 点赞:(0)

目录

1. 初始化项目(如果之前没做)

2. Program.cs 示例

3. 你需要改的地方

4. 运行


Playwright C# 自动登录并上传 Excel 文件 的可运行示例:
你只要把网址和选择器改成社保局系统的,就能直接用。


1. 初始化项目(如果之前没做)

dotnet new console -n AutoUpload
cd AutoUpload
dotnet add package Microsoft.Playwright
dotnet tool install --global Microsoft.Playwright.CLI
playwright install

2. Program.cs 示例

using Microsoft.Playwright;
using System;
using System.Threading.Tasks;

class Program
{
    public static async Task Main()
    {
        string loginUrl = "https://example.com/login"; // 这里改成社保局登录页面
        string username = "your_username";             // 这里改成你的账号
        string password = "your_password";             // 这里改成你的密码
        string excelPath = @"C:\报表\社保.xls";          // 上传的 Excel 文件路径

        using var playwright = await Playwright.CreateAsync();
        var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions
        {
            Headless = false // true 表示无界面运行
        });

        var page = await browser.NewPageAsync();

        try
        {
            // 打开登录页面
            await page.GotoAsync(loginUrl);

            // 填写账号密码(修改选择器为社保局网站实际的 ID 或 name)
            await page.FillAsync("#username", username);
            await page.FillAsync("#password", password);

            // 点击登录按钮
            await page.ClickAsync("#loginBtn");

            // 等待上传页面加载(这里需要换成社保局上传页面的 URL 或触发方式)
            await page.WaitForURLAsync("**/upload**"); 

            // 选择文件上传
            await page.SetInputFilesAsync("input[type='file']", excelPath);

            // 点击提交按钮
            await page.ClickAsync("#submitBtn");

            // 等待上传完成提示
            await page.WaitForSelectorAsync(".upload-success", new PageWaitForSelectorOptions { Timeout = 10000 });

            Console.WriteLine("✅ Excel 上传成功!");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"❌ 运行出错: {ex.Message}");
        }
        finally
        {
            await browser.CloseAsync();
        }
    }
}

3. 你需要改的地方

  1. loginUrl 改成社保局的登录地址
  2. 选择器#username#password#loginBtninput[type='file']#submitBtn.upload-success)改成网页上实际的元素
    • 可以用浏览器 右键 → 检查 来获取元素的 id 或 name
  1. excelPath 改成本地 Excel 文件路径
  2. 如果上传页面和登录页面不是同一个,要加一步 GotoAsync() 进入上传页面

4. 运行

dotnet run

浏览器会自动打开,登录,上传 Excel,等待上传完成。



网站公告

今日签到

点亮在社区的每一天
去签到