用 browser-use 把每周 40 分钟的另存为压到 3 分钟自动下载 用 browser-use 把每周 40 分钟的另存为压到 3 分钟自动下载【免费下载链接】browser-useAgents that use the browser.项目地址: https://gitcode.com/GitHub_Trending/br/browser-use5 个站点、14 次右键另存为、每周 80 分钟这就是你手工收集一套供应商报表的总代价。browser-use 是一个让 AI 直接操作浏览器的开源框架你给它一句话任务它就自动下载网页文件并保存到指定目录全程不用碰鼠标。先看它跑起来什么样子全程 6 个步骤前 5 步都由它完成你唯一要做的是把任务说明白。步骤它做了什么你看到的结果1 启动并打开页面启动浏览器加载目标站点页面浏览器窗口弹出页面加载完成2 理解页面把页面元素序列化成带编号清单交给模型比对任务终端输出当前页面的可读摘要3 定位目标按任务描述找到月度报表 PDF入口锁定对应按钮或链接4 触发下载点击按钮监听下载开始与进度事件浏览器底部出现下载进度5 校验落盘下载完成后检查文件是否完整指定文件夹出现新文件6 汇报结果输出步骤摘要与文件清单终端显示完成下一文件重复该流程你全程只需要做的一件事把任务写成一句话并指定文件存到哪里。这是 agent 在真实浏览器中打开并操作过的页面说明它能处理的不只是下载页还包括表单、商城和后台系统。整个过程由 browser_use/browser/ 中的事件机制驱动不需要为任何网站写死规则。所以这不是右键另存为的快捷方式而是一条自动下载流水线。三步把它跑起来从安装到文件落地3 步大约 10 分钟。装环境运行前提 3 条Python 3.11 或更高版本项目要求3.11一个 LLM 的 API Key 设为环境变量本文示例用 Google 的GOOGLE_API_KEY下载目录已存在且当前用户有写权限git clone https://gitcode.com/GitHub_Trending/br/browser-use cd browser-use pip install -e .写任务import asyncio import os from browser_use import Agent, Browser, ChatGoogle llm ChatGoogle(modelgemini-2.5-flash, api_keyos.getenv(GOOGLE_API_KEY)) # 指定下载目录不指定时文件落在随机临时目录 browser Browser(downloads_path~/Downloads/auto_downloads) async def main(): agent Agent( # 任务带上筛选条件和格式越具体成功率越高 task访问 https://file-examples.com/ 并下载最小的 DOC 文件, llmllm, browserbrowser, ) await agent.run(max_steps25) # 限制步数防止无限循环 asyncio.run(main())看结果运行后浏览器窗口弹出终端逐步打印读了什么、要点什么自动下载完成后文件落在~/Downloads/auto_downloads。首次失败多数不是代码问题而是任务描述缺筛选条件。本文示例参照仓库里的 examples/features/download_file.py。⚠️ 任务结束但文件消失 → 未设置downloads_path文件默认存进系统临时目录的随机文件夹 → 跑任务前先把downloads_path写进Browser(...)。所以文件落到指定目录就代表环境这一关已经过了。它凭什么看懂网页自动下载之所以能在任意网站上稳定工作靠的是 2 个机制把页面变成带编号的操作清单以及盯住下载全程。机制一页面 → 带编号操作清单大白话定义把当前页面的按钮、链接、输入框整理成一份带编号的清单AI 只回答点 37 号它就真的去点 37 号。信息流是这样的输入 当前页面 DOM → 处理 序列化组件遍历元素、过滤不可见与不可点击项、依次编号 → 输出 带编号操作清单连同页面截图一起交给模型。源码在 browser_use/dom/序列化逻辑集中在该目录的 serializer 模块里。机制二盯住下载全程不完整就重来大白话定义下载不是点一下就完事有跳转、有进度这个组件从开始、进度到完成全程监听文件没下全会触发重试。信息流输入 浏览器的下载事件 → 处理 DownloadsWatchdog监听开始、进度、完成三个阶段 → 输出 完整文件落到downloads_path。实现位于browser_use/browser/watchdogs/downloads_watchdog.py。所以机制一让它知道点什么机制二让它等文件安全落袋两者都不依赖写死的网站规则。三个让批量任务跑得稳的升级项从能跑到敢放一整天无人看管做 AI 自动保存报表差的是 3 个配置目录、登录态、失败兜底。参数作用建议值downloads_path下载落盘目录~/reports/站点名/年-月storage_state复用登录态与 Cookieexport_storage_state()导出的文件路径max_steps单任务步数上限单文件 25批量 100fallback_llm主模型失败时的备用模型便宜且快的模型固定目录与子文件夹批量下载网页文件时把落盘目录写进downloads_path分类规则按站点、按月份直接写进任务描述AI 会自己建子文件夹存放。目录建议一级站点名、二级年月形如downloads_path~/reports/供应商A/2026-09。登录态复用需要登录的站点先手动登录一次并导出状态之后每次任务带一个参数即可跳过登录页。导出流程见 examples/browser/save_cookies.pybrowser Browser( downloads_path~/reports/2026-09, storage_statestorage_state.json, # 复用登录态 )失败重试与步数上限用max_steps给整个任务设步数上限防止在页面上打转主模型超时或输出异常时fallback_llm自动接管例如fallback_llmChatGoogle(modelgemini-2.5-flash)配合await agent.run(max_steps100)。⚠️ AI 下错文件或反复折返 → 任务描述缺少筛选条件和规则 → 任务里补三样下哪个文件筛选条件、什么格式、存到哪里。所以这 3 个配置加上十几个文件的批量任务可以无人值守过夜跑早上看一眼结果就是全部人工成本。什么活该交给它什么活别硬塞判断标准一条活是否重复、规则是否清晰是就交给它不是就手动。适合交给它建议手动固定一套报表的重复下载一次性保存单个文件多个站点的文件批量导出需要实时人工判断的下载每天每周定期重复的任务需要扫码登录的页面批量下载网页文件后按规则归档藏在多层动态弹窗里的下载官方基准里各模型成功率最高相差 54 个百分点这是强模型省心、弱模型易跑偏的直接证据。同一组测试的成本侧单次任务成本 1 美元以下时成功率普遍低于 40%预算拉到 5 美元以上才有模型突破 70%。强模型贵但稳弱模型便宜但容易跑偏先用成功率 65%~74% 档位的中档模型验证流程正式做 AI 自动保存报表再升级顶配。模型接入层实现在 browser_use/llm/。⚠️ AI 卡在登录页反复打转 → 需要登录的任务没处理登录态 → 先手动登录一次导出 Cookie再用storage_state复用。所以重复的活交给它一次性的别硬塞模型成本与成功率是一笔要算的账。行动清单3 条3 个验收动作每个今天就能完成。把筛选条件写进任务 → 跑 1 次 → 指定目录出现文件设定下载目录 → 下 1 个 PDF → 目标目录文件名完整加后备模型与步数上限 → 跑一夜 → 无卡死重复所以第一个验收标准是文件落地而不是过程。【免费下载链接】browser-useAgents that use the browser.项目地址: https://gitcode.com/GitHub_Trending/br/browser-use创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考