ダウンロード
はじめに
ページによってダウンロードされたすべてのアタッチメントに対して、Page.onDownload(handler) イベントが発行されます。これらのアタッチメントはすべて、一時フォルダーにダウンロードされます。イベントからの Download オブジェクトを使用して、ダウンロード URL、ファイル名、およびペイロードストリームを取得できます。
setDownloadsPath オプションを BrowserType.launch() で使用して、ダウンロードしたファイルを永続化する場所を指定できます。
note
ダウンロードされたファイルは、ファイルを生成したブラウザコンテキストが閉じられると削除されます。
ファイルダウンロードを処理する最も簡単な方法を以下に示します。
// 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()));
イベントの処理は制御フローを分岐させ、スクリプトを追跡しにくくすることに注意してください。メインの制御フローはこの操作の解決を待機していないため、ファイルのダウンロード中にシナリオが終了する可能性があります。
note
ファイルのアップロードについては、「ファイルのアップロード」セクションを参照してください。