Download
Download 对象由页面通过 page.on('download') 事件分发。
当浏览器上下文关闭时,所有属于该上下文的下载文件都会被删除。
下载事件在下载开始时触发。下载路径在下载完成后可用。
// 在点击前开始等待下载事件。注意不需要 await。
const downloadPromise = page.waitForEvent('download');
await page.getByText('Download file').click();
const download = await downloadPromise;
// 等待下载过程完成并将下载文件保存到指定位置。
await download.saveAs('/path/to/save/at/' + download.suggestedFilename());
方法
cancel
Added in: v1.13取消下载。如果下载已完成或已取消,该方法不会报错。成功取消后,download.failure()
将解析为 'canceled'
。
用法
await download.cancel();
返回值
createReadStream
Added before v1.9对于成功的下载返回可读流,对于失败/取消的下载抛出异常。
用法
await download.createReadStream();
返回值
delete
Added before v1.9删除已下载的文件。如有必要会等待下载完成。
用法
await download.delete();
返回值
failure
Added before v1.9返回下载错误信息(如果有)。如有必要会等待下载完成。
用法
await download.failure();
返回值
page
Added in: v1.12获取下载所属的页面。
用法
download.page();
返回值
path
Added before v1.9返回成功下载文件的路径,如果下载失败/取消则抛出异常。该方法会在必要时等待下载完成。在远程连接时会抛出异常。
注意下载的文件名是一个随机GUID,可以使用download.suggestedFilename()获取建议的文件名。
用法
await download.path();
返回值
saveAs
Added before v1.9将下载文件复制到用户指定的路径。即使在下载过程中调用此方法也是安全的。必要时会等待下载完成。
用法
await download.saveAs('/path/to/save/at/' + download.suggestedFilename());
参数
返回值
suggestedFilename
v1.9 之前版本添加返回此下载的建议文件名。通常由浏览器根据 Content-Disposition
响应头或 download
属性计算得出。详见 whatwg 规范。不同浏览器可能采用不同的计算逻辑。
用法
download.suggestedFilename();
返回值
url
v1.9 之前版本添加返回下载的 URL 地址。
用法
download.url();
返回值