Перейти к основному содержимому

Загрузки

Введение

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

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

примечание

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

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

# Начать ожидание загрузки
with page.expect_download() as download_info:
# Выполнить действие, инициирующее загрузку
page.get_by_text("Download file").click()
download = download_info.value

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

Вариации

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

page.on("download", lambda download: print(download.path()))

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

примечание

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