c# - 如何使用 Puppeteer Sharp 上传文件?

标签 c# puppeteer-sharp

我正在使用 Puppeteer Sharp测试我的网络应用程序。我的网络应用程序有一个按钮触发 <input type="file">让用户选择要上传的 CSV 文件。

通过 Puppeteer Sharp 测试时如何使用它来上传文件?仅单击按钮是不够的,因为我需要为浏览文件对话框提供文件的路径。

最佳答案

您可以使用 Page.WaitForFileChooserAsync与文件选择器交互。要记住的重要一点是,在单击 <input type="file"> 之前,您需要准备好文件选择器。 .
例如:

var fileChooserDialogTask = page.WaitForFileChooserAsync(); // Do not await here

await Task.WhenAll(fileChooserDialogTask, page.ClickAsync("input[type='file']"));

var fileChooser = await fileChooserDialogTask;
await fileChooser.AcceptAsync(pathToFile);
如果您尝试单击 <input type="file">在您调用之前 WaitForFileChooserAsync ,您将被困在模态文件选择器对话框中等待您执行某些操作。

关于c# - 如何使用 Puppeteer Sharp 上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62475022/

相关文章:

c# - 有没有简单的方法在 C# 中创建序数?

c# - Silverlight -- Debug.WriteLine() 不适用于长字符串

javascript - puppeteer 师夏普 : setting a fake path when loading content?

c# - 无法启动 Base!/app/.local-chromium/Linux-706915/chrome-linux/chrome : . .. libX11.so.6

c# - 无法单击具有特定属性的按钮

c# - Json.Net 和 ActionResult

c# - Windows 7 上的端口转发

c# - puppeetersharp 中的单页 PDF

c# - 从 C# 应用程序调试 MySQL 连接问题

c# - 使用 PuppeteerSharp 访问 windows.localStorage