news 2026/8/28 10:12:02

Browser-Use 自动下载:让浏览器替你下载、保存、回报文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Browser-Use 自动下载:让浏览器替你下载、保存、回报文件

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

原理一句话

  1. 监控:DownloadsWatchdog 监听浏览器的下载信号
  2. 事件:下载完成时广播 FileDownloadedEvent
  3. 处理:你订阅该事件,执行后续处理

复制即跑

先装好依赖并配好模型环境变量,运行前只需一句: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_namepathfile_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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 10:11:28

OpenCode LSP 集成指南:让终端拥有 IDE 级实时诊断与代码跳转

OpenCode LSP 集成指南:让终端拥有 IDE 级实时诊断与代码跳转 【免费下载链接】opencode The open source coding agent. 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 还在终端里盲写代码,等报错才回头翻日志吗?Op…

作者头像 李华
网站建设 2026/8/28 10:10:41

Dify 零代码AI应用开发:15分钟上手

Dify 零代码AI应用开发:15分钟上手 【免费下载链接】dify Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production wi…

作者头像 李华
网站建设 2026/8/28 10:10:03

滑动窗口算法详解:从核心原理到高频题型实战

1. 滑动窗口算法:从入门到精通的实战指南如果你刷过一些算法题,尤其是字符串和数组相关的题目,大概率会碰到“滑动窗口”这个词。我第一次系统性地接触它,是在解决“无重复字符的最长子串”这道经典题目时,当时用暴力解…

作者头像 李华
网站建设 2026/8/28 10:10:01

港珠澳大桥安全评估:Matlab建模、BP网络与有限元分析实践

1. 从竞赛题目到工程实践:港珠澳大桥背后的设计逻辑看到“2021中青杯B题港珠澳大桥桥梁设计与安全策略”这个标题,很多参加过数学建模竞赛的朋友可能会心一笑。这确实是一个经典的赛题类型,它把宏大的国家工程——港珠澳大桥,抽象…

作者头像 李华
网站建设 2026/8/28 10:09:55

深度优先搜索与回溯算法精解:从路径约束问题到通用解题框架

1. 从一道经典国赛题说起:路径之谜的挑战最近在整理历年算法竞赛的经典题目,翻到了2016年蓝桥杯国赛C A组的这道“路径之谜”。题目本身描述并不复杂,但想要在赛场上稳定、高效地解出来,却需要选手对深度优先搜索(DFS&…

作者头像 李华
网站建设 2026/8/28 10:09:45

Grok接入实战:用grok2api将上游接口转换为OpenAI兼容API

最近不少团队在尝试同一个场景:内部已经用 OpenAI 的 SDK 和协议把各种模型接入了一遍,比如 GPT 系列、第三方国产模型、开源模型,突然产品需求说要接 Grok。第一反应是“官方 API 不也是 OpenAI 兼容的吗,直接配 base_url 不就行…

作者头像 李华