Playwright C# 自动登录并上传 Excel 文件 的可运行示例
目录
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. 你需要改的地方
loginUrl
改成社保局的登录地址- 选择器(
#username
、#password
、#loginBtn
、input[type='file']
、#submitBtn
、.upload-success
)改成网页上实际的元素
-
- 可以用浏览器 右键 → 检查 来获取元素的
id
或name
- 可以用浏览器 右键 → 检查 来获取元素的
excelPath
改成本地 Excel 文件路径- 如果上传页面和登录页面不是同一个,要加一步
GotoAsync()
进入上传页面
4. 运行
dotnet run
浏览器会自动打开,登录,上传 Excel,等待上传完成。