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