Download
Download 对象通过 page.on("download") 事件派发。关闭 BrowserContext 时,属于该上下文的下载文件都会被删除。
下载在开始时触发事件,完成后方可获取路径:
- Sync
- Async
with page.expect_download() as download_info:
page.get_by_text("Download file").click()
download = download_info.value
path = download.path() # 等待下载完成
async with page.expect_download() as download_info:
await page.get_by_text("Download file").click()
download = await download_info.value
path = await download.path() # 等待下载完成
- download.cancel()
- download.delete()
- download.failure()
- download.page
- download.path()
- download.save_as(path)
- download.suggested_filename
- download.url
download.cancel()
Added in: v1.13取消下载;若下载已完成或已取消不会报错,取消成功后 download.failure() 会返回 'canceled'。
download.delete()
Added in: v1.8删除已下载的文件,如有需要会等待下载完成。
download.failure()
Added in: v1.8返回下载错误信息(若有),必要时会等待下载结束。
download.page
Added in: v1.12返回触发下载的页面。
download.path()
Added in: v1.8- 返回值: <NoneType|pathlib.Path>#
成功下载后返回文件路径,必要时会等待完成。远程连接下调用会抛错。文件名通常为随机 GUID,可用 download.suggested_filename 获取建议名。
download.save_as(path)
Added in: v1.8将下载文件复制到指定路径。即使下载仍在进行也可调用,必要时会等待完成。
download.suggested_filename
Added in: v1.8返回浏览器推断的文件名,通常来自 Content-Disposition 头或元素的 download 属性。参见 whatwg 上的规范。不同浏览器实现可能不同。
download.url
Added in: v1.8返回下载的 URL。