Как загрузить файл с помощью Puppeteer Sharp? - PullRequest
2 голосов
/ 19 июня 2020

Я использую Puppeteer Sharp для тестирования своего веб-приложения. В моем веб-приложении есть кнопка, которая запускает <input type="file">, чтобы пользователь мог выбрать файл CSV для загрузки.

Как мне использовать это, чтобы загрузить файл при тестировании через Puppeteer Sharp? Просто щелкнуть кнопку недостаточно, потому что мне нужно указать в диалоговом окне поиска файла путь к файлу.

1 Ответ

2 голосов
/ 19 июня 2020

Вы можете использовать Page.WaitForFileChooserAsync для взаимодействия с селектором файлов. Важно помнить, что вам нужно подготовить средство выбора файлов перед тем, как вы нажмете <input type="file">.

Например:

var fileChooserDialogTask = page.WaitForFileChooserAsync();

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

var fileChooser = await fileChooserDialogTask;
await fileChooser.AcceptAsync(pathToFile);

Если вы попытаетесь щелкните <input type="file">, прежде чем набрать WaitForFileChooserAsync, вы застрянете в диалоговом окне выбора модального файла, ожидая, что вы что-то сделаете.

...