跳到主要内容

Download

下载对象由页面通过Page.onDownload(handler)事件派发。

当浏览器上下文关闭时,属于该浏览器上下文的所有已下载文件都会被删除。

下载开始时会触发 Download 事件。下载完成后,下载路径就可用了。

// 等待下载开始
Download download = page.waitForDownload(() -> {
// 执行启动下载的操作
page.getByText("Download file").click();
});

// 等待下载过程完成,并将下载的文件保存到某个位置
download.saveAs(Paths.get("/path/to/save/at/", download.suggestedFilename()));

方法

cancel

添加于:v1.13 download.cancel

取消下载。如果下载已经完成或已取消,则不会失败。成功取消后,download.failure() 将解析为 'canceled'

用法

Download.cancel();

返回值


createReadStream

在 v1.9 之前添加 download.createReadStream

为成功的下载返回一个可读流,如果下载失败或已取消则抛出异常。

用法

Download.createReadStream();

返回值


delete

在 v1.9 之前添加 download.delete

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

用法

Download.delete();

返回值


failure

在 v1.9 之前添加 download.failure

返回下载错误(如果有)。如有必要,将等待下载完成。

用法

Download.failure();

返回值


page

添加于:v1.12 download.page

获取下载所属的页面。

用法

Download.page();

返回值


path

在 v1.9 之前添加 download.path

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

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

用法

Download.path();

返回值


saveAs

在 v1.9 之前添加 download.saveAs

将下载的文件复制到用户指定的路径。在下载仍在进行时调用此方法是安全的。如有必要,将等待下载完成。

用法

download.saveAs(Paths.get("/path/to/save/at/", download.suggestedFilename()));

参数

  • path Path#

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

返回值


suggestedFilename

在 v1.9 之前添加 download.suggestedFilename

返回此下载的建议文件名。它通常由浏览器根据 Content-Disposition 响应头或 download 属性计算得出。有关详细信息,请参阅 whatwg 上的规范。不同的浏览器可能使用不同的逻辑来计算它。

用法

Download.suggestedFilename();

返回值


url

在 v1.9 之前添加 download.url

返回下载的 URL。

用法

Download.url();

返回值