メインコンテンツへスキップ

ダウンロード

イントロダクション

ページによってダウンロードされた添付ファイルごとに、Page.Download イベントが発行されます。これらの添付ファイルはすべて一時フォルダにダウンロードされます。イベントから Download オブジェクトを使用して、ダウンロード URL、ファイル名、およびペイロードストリームを取得できます。

ダウンロードしたファイルを保存する場所は、DownloadsPath オプションを BrowserType.LaunchAsync() で使用して指定できます。

ダウンロードされたファイルは、それらを生成したブラウザコンテキストが閉じられると削除されます。

ファイルダウンロードを処理する最も簡単な方法を次に示します。

// Start the task of waiting for the download before clicking
var waitForDownloadTask = page.WaitForDownloadAsync();
await page.GetByText("Download file").ClickAsync();
var download = await waitForDownloadTask;

// Wait for the download process to complete and save the downloaded file somewhere
await download.SaveAsAsync("/path/to/save/at/" + download.SuggestedFilename);

バリエーション

ダウンロードを開始したものが不明な場合でも、イベントを処理できます。

page.Download += (sender, download) => Console.WriteLine(download.Url);

イベントを処理すると、制御フローが分岐し、スクリプトが追跡しにくくなることに注意してください。メインの制御フローがこの操作の解決を待機していないため、ファイルをダウンロード中にシナリオが終了する可能性があります。

ファイルのアップロードについては、「ファイルのアップロード」セクションを参照してください。