Как закрыть диалоговое окно файла в Node.js? - PullRequest
1 голос
/ 30 марта 2019

Я открываю диалоговое окно файла с помощью node.js как

await page.goto('https://www.example.com', { waitUntil: 'networkidle0' });
let a = await page.$('#file');
a.click();

, где HTML-код похож на

<form action="">
<input type="file" id="file" />
<input type="submit" id="submit" value="Submit" />
</form>

a.click(), откройте диалоговое окно в браузере, чтобы выбратьфайл.Когда диалоговое окно открыто, первый файл уже выбран, и если нажать enter, диалоговое окно будет закрыто.

Интересно, есть ли в Node.js возможность закрыть диалоговое окно файлапрограммно?

Другими словами, я хочу автоматически отправить форму как

let a = await page.$('#file');
a.click();
// HERE close the opened dialog box
let b = await page.$('#submit');
b.click();

1 Ответ

2 голосов
/ 30 марта 2019

Вы не можете открыть диалоговое окно для выбора файла. Вместо этого вы должны использовать elementHandle.uploadFile для обработки загрузки файла:

let a = await page.$('#file');
await a.uploadFile('PATH/TO/YOUR.FILE');

let b = await page.$('#submit');
b.click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...