如何使用 Puppeteer Sharp 上传文件?
How do I upload a file with Puppeteer Sharp?
我正在使用 Puppeteer Sharp 来测试我的网络应用程序。我的网络应用程序有一个按钮可以触发 <input type="file">
让用户 select 上传一个 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);
如果您在调用 WaitForFileChooserAsync
之前尝试单击 <input type="file">
,您将停留在模态文件选择器对话框中等待您进行操作。
我正在使用 Puppeteer Sharp 来测试我的网络应用程序。我的网络应用程序有一个按钮可以触发 <input type="file">
让用户 select 上传一个 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);
如果您在调用 WaitForFileChooserAsync
之前尝试单击 <input type="file">
,您将停留在模态文件选择器对话框中等待您进行操作。