ダウンロード
はじめに
ページによってダウンロードされるすべての添付ファイルについて、page.on('download') イベントが発行されます。これらの添付ファイルはすべて一時フォルダにダウンロードされます。イベントから取得した Download オブジェクトを使用して、ダウンロード URL、ファイル名、およびペイロードストリームを取得できます。
browserType.launch() の downloadsPath オプションを使用して、ダウンロードされたファイルを永続化する場所を指定できます。
注
ダウンロードされたファイルは、それらを生成したブラウザコンテキストが閉じられると削除されます。
ファイルダウンロードを処理する最も簡単な方法は次のとおりです。
// Start waiting for download before clicking. Note no await.
const downloadPromise = page.waitForEvent('download');
await page.getByText('Download file').click();
const download = await downloadPromise;
// Wait for the download process to complete and save the downloaded file somewhere.
await download.saveAs('/path/to/save/at/' + download.suggestedFilename());
バリエーション
何がダウンロードを開始したのかわからない場合でも、イベントを処理できます。
page.on('download', download => download.path().then(console.log));
イベントを処理すると制御フローが分岐し、スクリプトが追跡しにくくなることに注意してください。メインの制御フローがこの操作の解決を待っていないため、ファイルをダウンロードしている間にシナリオが終了する可能性があります。
注
ファイルをアップロードするには、「ファイルのアップロード」セクションを参照してください。