Browser-Use 自动下载:一条指令批量归档网页文件
【免费下载链接】browser-useOpen-source Python library for AI browser agents, plus Browser Use Cloud: stealth browsers and a hosted agent API.项目地址: https://gitcode.com/GitHub_Trending/br/browser-use
Browser-Use 是开源的 AI 浏览器 Agent 框架,其网页文件下载自动化能力让 Agent 自主打开页面、触发下载,文件直接落盘到你指定的目录。下文拆解三大组件职责,给出最简脚本与进阶配置,帮你把批量文件归档接入日常流程。
底层机制速览
整套下载流程由三个组件分工完成。下载监控器(downloads_watchdog.py)监听浏览器原生的下载事件,跟踪每个文件的进度直至落盘完成。BrowserProfile(profile.py)通过 downloads_path 参数控制落盘位置,是下载路径配置的入口。事件总线(events.py)在文件就绪后派发 FileDownloadedEvent,携带文件名、大小与完整路径,供你的外部代码消费。
快速上手:跑通网页文件下载自动化最简脚本
一条命令安装依赖:
pip install browser-use下面的脚本让 Agent 打开 file-examples.com 并下载最小的 doc 文件,max_steps 限制为 25 步以避免循环执行。
import asyncio import os from browser_use import Agent, Browser, ChatGoogle llm = ChatGoogle(model='gemini-2.5-flash', api_key=os.getenv('GOOGLE_API_KEY')) browser = Browser(downloads_path='~/Downloads/auto_downloads') async def run(): agent = Agent( task='Go to https://file-examples.com/ and download the smallest doc file.', llm=llm, browser=browser, ) await agent.run(max_steps=25) # 最多思考 25 步 if __name__ == '__main__': asyncio.run(run())运行后你会看到:
- 终端输出两行关键日志,分别标记下载开始与完成,均包含文件名和落盘路径
- ⬇️ 文件保留原始文件名,直接出现在 auto_downloads 目录,无需回到浏览器默认目录查找
- 模型可替换:browser_use/llm/ 目录覆盖 OpenAI、Anthropic、Google 等供应商
进阶配置:下载路径配置与下载完成回调挂载
指定下载目录的写法
不传 downloads_path 时,框架会在系统临时目录生成随机目录,不便检索;显式指定后,目录不存在会自动创建,且支持绝对路径与 ~ 开头的用户目录。
# 目录不存在会自动创建 browser = Browser(downloads_path='~/work/reports/invoice')挂载下载完成回调
在事件总线注册 FileDownloadedEvent 监听后,每个文件落盘完成都会触发一次回调,适合接归档、上传或通知逻辑。
from browser_use.browser.events import FileDownloadedEvent async def on_downloaded(event: FileDownloadedEvent) -> None: # 按文件类型分流处理 print(f'{event.file_name} ({event.file_size}B) -> {event.path}') browser.event_bus.on(FileDownloadedEvent, on_downloaded)回调在 Agent 运行期间持续生效,不需要轮询文件目录。
真实场景拆解
场景一:财务月报批量下载。任务描述:把task='登录公司 OA 报表中心,下载 2026 年 7 月各部门的费用报表'交给 Agent。预期行为:Agent 逐个打开报表详情页并触发下载,文件以原始名称落盘到指定目录。后续动作:在完成回调中比对文件名清单,对缺失的报表单独发起补下任务。
场景二:数据平台 CSV 定时归档。任务描述:把task='打开数据平台导出页,下载最近 7 天每天的 CSV,每完成一个文件继续下一个'交给 Agent。预期行为:Agent 逐个下载并按天命名,7 个文件累积在同一目录。后续动作:回调里直接接统计脚本或对象存储上传,完成批量文件归档闭环。
延伸阅读
- examples/features/download_file.py:仓库内置的完整下载示例,含环境变量检查与任务描述写法。
- examples/features/parallel_agents.py:多 Agent 并行执行下载任务时的启动方式。
- browser_use/llm/:各模型供应商的接入说明,用于替换脚本中的 LLM。
把网页文件下载自动化交给 Browser-Use。
【免费下载链接】browser-useOpen-source Python library for AI browser agents, plus Browser Use Cloud: stealth browsers and a hosted agent API.项目地址: https://gitcode.com/GitHub_Trending/br/browser-use
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考