跳到主要內容

下載

簡介

對於頁面下載的每個附件,都會發出 Page.onDownload(handler) 事件。所有這些附件都會下載到一個臨時資料夾中。您可以使用事件中的 Download 物件來取得下載 URL、檔案名稱和酬載串流。

您可以使用 setDownloadsPath 選項在 BrowserType.launch() 中指定要將下載的檔案保存到何處。

注意

當產生下載檔案的瀏覽器上下文關閉時,下載的檔案將會被刪除。

以下是處理檔案下載最簡單的方式

// Wait for the download to start
Download download = page.waitForDownload(() -> {
// Perform the action that initiates download
page.getByText("Download file").click();
});

// Wait for the download process to complete and save the downloaded file somewhere
download.saveAs(Paths.get("/path/to/save/at/", download.suggestedFilename()));

變化

如果您不知道是什麼啟動了下載,您仍然可以處理該事件

page.onDownload(download -> System.out.println(download.path()));

請注意,處理事件會使控制流程分叉,並使腳本更難以追蹤。您的情境可能會在您下載檔案時結束,因為您的主要控制流程並未等待此操作完成。

注意

關於上傳檔案,請參閱「上傳檔案」章節。