下載
簡介
每個頁面下載的附件,Page.Download 事件都會被觸發。所有這些附件都會下載到一個臨時資料夾中。你可以使用事件中的 Download 物件來獲取下載的 URL、檔案名稱和有效負載流。
您可以使用 downloadsPath
選項來指定下載檔案的保存位置 BrowserType.LaunchAsync()。
note
下載的檔案會在產生它們的瀏覽器上下文關閉時被刪除。
以下是處理檔案下載的最簡單方法:
// 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);
請注意,處理事件會分叉控制流程,使腳本更難以跟隨。由於您的主要控制流程不會等待此操作完成,因此在您下載文件時,您的情境可能會結束。
note
如需上傳檔案,請參閱上傳檔案部分。