Почему Puppeteer не работает с несколькими загрузками? - PullRequest
0 голосов
/ 27 июня 2018

В моем HTML у меня есть следующий элемент ввода:

<input id="input-44" name="input44[]" type="file" multiple>

В моем коде JavaScript (пропуская несколько шаблонов) работает следующее:

const elementHandle = await page.$("#input-44");
elementHandle.uploadFile("/path/to/file");
await page.click("#upload-button");

Согласно документам:

https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md

uploadFiles должен иметь возможность принимать несколько файлов

Когда я изменяю свой код на:

const elementHandle = await page.$("#input-44");
const files = ["/path/to/file", "/path/to/file2"];
elementHandle.uploadFile(...files);
await page.click("#upload-button");

загрузка больше не работает. Почему это?

1 Ответ

0 голосов
/ 11 марта 2019

для альтернативы, я думаю, вы можете зациклить каждый элемент в путях для загрузки

const elementHandle = await page.$("#input-44");
const files = ["/path/to/file", "/path/to/file2"];
for (let index = 0; index < files.length; index++) {
   const filePath = files[index];
   await elementHandle.uploadFile(filePath);
}
await page.click("#upload-button");
...