跳到主要内容

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.cancel

取消下载。如果下载已完成或已取消,该方法不会报错。成功取消后,download.failure() 将解析为 'canceled'

用法

await download.cancel();

返回值


createReadStream

Added before v1.9 download.createReadStream

对于成功的下载返回可读流,对于失败/取消的下载抛出异常。

用法

await download.createReadStream();

返回值


delete

Added before v1.9 download.delete

删除已下载的文件。如有必要会等待下载完成。

用法

await download.delete();

返回值


failure

Added before v1.9 download.failure

返回下载错误信息(如果有)。如有必要会等待下载完成。

用法

await download.failure();

返回值


page

Added in: v1.12 download.page

获取下载所属的页面。

用法

download.page();

返回值


path

Added before v1.9 download.path

返回成功下载文件的路径,如果下载失败/取消则抛出异常。该方法会在必要时等待下载完成。在远程连接时会抛出异常。

注意下载的文件名是一个随机GUID,可以使用download.suggestedFilename()获取建议的文件名。

用法

await download.path();

返回值


saveAs

Added before v1.9 download.saveAs

将下载文件复制到用户指定的路径。即使在下载过程中调用此方法也是安全的。必要时会等待下载完成。

用法

await download.saveAs('/path/to/save/at/' + download.suggestedFilename());

参数

  • path string#

    下载文件应该被复制到的路径。

返回值


suggestedFilename

v1.9 之前版本添加 download.suggestedFilename

返回此下载的建议文件名。通常由浏览器根据 Content-Disposition 响应头或 download 属性计算得出。详见 whatwg 规范。不同浏览器可能采用不同的计算逻辑。

用法

download.suggestedFilename();

返回值


url

v1.9 之前版本添加 download.url

返回下载的 URL 地址。

用法

download.url();

返回值