跳到主要内容

Download

Download 对象通过页面的 page.on("download") 事件分发。

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

下载事件在下载开始时触发。下载路径在下载完成后可用。

# 开始等待下载
with page.expect_download() as download_info:
# 执行触发下载的操作
page.get_by_text("Download file").click()
download = download_info.value

# 等待下载过程完成,并将下载的文件保存到指定位置
download.save_as("/path/to/save/at/" + download.suggested_filename)

方法

cancel

新增于: v1.13 download.cancel

取消下载。如果下载已完成或已取消,不会报错。成功取消后,download.failure() 会返回 'canceled'

用法

download.cancel()

返回值


delete

v1.9 之前添加 download.delete

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

用法

download.delete()

返回值


failure

v1.9 之前添加 download.failure

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

用法

download.failure()

返回值


path

v1.9 之前添加 download.path

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

注意,下载文件的文件名是随机 GUID,可使用 download.suggested_filename 获取建议的文件名。

用法

download.path()

返回值


save_as

v1.9 之前添加 download.save_as

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

用法

download.save_as("/path/to/save/at/" + download.suggested_filename)

参数

返回值


属性

page

新增于: v1.12 download.page

获取该下载所属的页面。

用法

download.page

返回值


suggested_filename

v1.9 之前添加 download.suggested_filename

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

用法

download.suggested_filename

返回值


url

v1.9 之前添加 download.url

返回下载的 URL。

用法

download.url

返回值