Skip to main content

Загрузки

Введение

Для каждого вложения, загружаемого страницей, генерируется событие page.on('download'). Все эти вложения загружаются во временную папку. Вы можете получить URL загрузки, имя файла и поток данных, используя объект Download из события.

Вы можете указать, где сохранять загруженные файлы, используя опцию downloadsPath в browserType.launch().

note

Загруженные файлы удаляются, когда контекст браузера, который их создал, закрывается.

Вот самый простой способ обработки загрузки файла:

// Начните ожидание загрузки перед кликом. Обратите внимание, что нет await.
const downloadPromise = page.waitForEvent('download');
await page.getByText('Download file').click();
const download = await downloadPromise;

// Дождитесь завершения процесса загрузки и сохраните загруженный файл где-нибудь.
await download.saveAs('/path/to/save/at/' + download.suggestedFilename());

Вариации

Если вы не знаете, что инициирует загрузку, вы все равно можете обработать событие:

page.on('download', download => download.path().then(console.log));

Обратите внимание, что обработка события разветвляет поток управления и делает скрипт сложнее для понимания. Ваш сценарий может завершиться, пока вы загружаете файл, так как ваш основной поток управления не ожидает завершения этой операции.

note

Для загрузки файлов смотрите раздел загрузка файлов.