Загрузки
Введение
Для каждого вложения, загружаемого страницей, генерируется событие Page.onDownload(handler). Все эти вложения загружаются во временную папку. Вы можете получить URL загрузки, имя файла и поток данных, используя объект Download из события.
Вы можете указать, где сохранять загруженные файлы, используя опцию setDownloadsPath в BrowserType.launch().
Загруженные файлы удаляются, когда контекст браузера, который их создал, закрывается.
Вот самый простой способ обработки загрузки файла:
// Ожидание начала загрузки
Download download = page.waitForDownload(() -> {
// Выполнение действия, инициирующего загрузку
page.getByText("Download file").click();
});
// Ожидание завершения процесса загрузки и сохранение загруженного файла в указанное место
download.saveAs(Paths.get("/path/to/save/at/", download.suggestedFilename()));
Вариации
Если вы не знаете, что инициирует загрузку, вы все равно можете обработать событие:
page.onDownload(download -> System.out.println(download.path()));
Обратите внимание, что обработка события разветвляет поток управления и делает сценарий сложнее для понимания. Ваш сценарий может завершиться, пока вы загружаете файл, так как ваш основной поток управления не ожидает завершения этой операции.
Для загрузки файлов смотрите раздел загрузка файлов.