You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Playwright-Python的goto方法直接通过下载链接下载文件?

可以使用Playwright-Python的goto方法直接访问下载链接完成文件下载

完全可以通过这种方式实现文件下载,这是Playwright处理文件下载场景的标准用法之一。

当调用page.goto()访问直接触发下载的链接时,浏览器会自动发起下载请求,此时通过page.expect_download()监听并捕获该下载事件,获取到下载对象后即可调用save_as()方法将文件保存到指定位置。

你的代码示例是可行的,以下是优化后的规范写法(调整变量名符合Python命名习惯):

async with page.expect_download(timeout=420000) as download_info:
        await page.goto(f'https://example.com/gateway/reports/{id}/file')

download = await download_info.value
await download.save_as(download.suggested_filename)

需要注意几个关键点:

  • 超时配置:设置timeout=420000(7分钟)适合大文件下载场景,能避免因下载耗时过长导致捕获超时失败
  • 文件名处理:使用download.suggested_filename可直接获取服务器响应头中建议的文件名,无需手动硬编码
  • 异步上下文管理:async with的写法能正确维护下载事件的生命周期,确保稳定捕获到下载对象

内容的提问来源于stack exchange,提问作者Py Ton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:03:20