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