Browser-Use 自动下载:让浏览器替你下载、保存、回报文件
【免费下载链接】browser-use🌐 Make websites accessible for AI agents. Automate tasks online with ease.项目地址: https://gitcode.com/GitHub_Trending/br/browser-use
你只需要给 Agent 一句自然语言任务,Browser-Use 自动下载能力就会接管整个流程:识别可下载的链接、把文件保存到你指定的目录,并在下载完成后回报文件名与大小。整个过程无需人工盯着浏览器,也无需自己写点击和等待逻辑。
先看效果
脚本跑起来后,Agent 会自己打开目标网站、找到下载入口并点击,文件直接落盘到你配置的目录,不需要你切换窗口或手动另存为。下载结束后的日志大致如下:
[DownloadsWatchdog] ⬇️ 开始下载 document-sample.doc [DownloadsWatchdog] ✅ 下载完成: document-sample.doc (250 KB) FileDownloadedEvent: path=~/Downloads/auto_downloads/document-sample.doc原理一句话
- 监控:DownloadsWatchdog 监听浏览器的下载信号
- 事件:下载完成时广播 FileDownloadedEvent
- 处理:你订阅该事件,执行后续处理
复制即跑
先装好依赖并配好模型环境变量,运行前只需一句:pip install browser-use && export GOOGLE_API_KEY=你的密钥。
import asyncio, os from browser_use import Agent, Browser, ChatGoogle # 指定自动保存路径,这是整个下载自动化最关键的配置 browser = Browser(downloads_path='~/Downloads/auto_downloads') async def main(): agent = Agent( task='打开 https://file-examples.com/ ,下载最小的 DOC 文件', llm=ChatGoogle(model='gemini-2.5-flash', api_key=os.getenv('GOOGLE_API_KEY')), browser=browser, ) await agent.run(max_steps=20) asyncio.run(main())三行关键逻辑:downloads_path决定文件自动保存到哪里;task用一句自然语言描述要下载什么,Agent 负责点击和等待;max_steps控制最多执行多少步,防止任务失控。
参数速查表
| 配置项 | 作用 | 示例值 |
|---|---|---|
downloads_path | 文件自动保存的目录 | ~/Downloads/auto_downloads |
auto_download_pdfs | 导航到 PDF 页面时是否自动存为文件 | True |
headless | 是否无界面运行,适合服务器部署 | True |
max_steps(Agent 参数) | 任务最多执行的步数 | 20 |
进阶玩法
自定义路径之外,你更常见的需求是:文件一落地就触发后续处理,比如记日志、归档或上传。两者配合的方式很简单——给 Browser 的event_bus订阅 FileDownloadedEvent,处理器里能拿到file_name、path、file_size等字段:
def on_file_downloaded(e): print(f'已保存: {e.file_name} ({e.file_size} B) → {e.path}') # 订阅下载完成事件,Agent 启动前调用即可 browser.event_bus.on(FileDownloadedEvent, on_file_downloaded)事件定义和监控实现分别在 events.py 与 downloads_watchdog.py 中,想深入阅读源码可以从这两处入手。
FAQ
Q:怎么确认文件真的下载成功了?A:看终端里的 FileDownloadedEvent 日志,或直接用文件管理器查看 downloads_path 目录。
Q:不指定 downloads_path 会发生什么?A:文件会存到系统临时目录下的随机文件夹里,容易丢失,生产环境务必显式指定。
Q:下载很大的文件会超时吗?A:下载本身由浏览器接管,不会中断;注意给 Agent 的步数留足,避免任务中途停止。
写在最后
核心结论:把保存路径交给downloads_path,把后续动作交给FileDownloadedEvent订阅,文件下载自动化就只剩一句任务描述。官方文档入口:examples/features/download_file.py。
【免费下载链接】browser-use🌐 Make websites accessible for AI agents. Automate tasks online with ease.项目地址: https://gitcode.com/GitHub_Trending/br/browser-use
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考