Appearance
browser-use 使用指南:七类浏览器自动化任务
修订于 2026-10-12:原文中的 Star 数、作者亲测经历、成功率与未经核实的旧接口示例已删除。项目 API 更新较快,请以文末官方文档为准。
browser-use 将浏览器操作交给模型驱动的 Agent:开发者描述目标,Agent 根据页面状态选择动作。它适合页面流程变化较多、人工定义每一步成本较高的任务;对固定页面、高频和严格可重复的流程,传统浏览器脚本通常更容易测试与控制。
七类适用任务
- 页面信息整理:打开公开页面,提取标题、日期和链接,再由程序校验字段。
- 多步站内查询:按关键词搜索、筛选并汇总结果,记录实际访问的网址。
- 表单草稿填写:预填内容并停在提交前,由人核对收件人、金额和字段。
- 后台巡检:浏览管理页面,发现错误提示或状态变化;告警仍需明确的规则与去重。
- 跨页面比对:从多个页面收集同一对象的信息,注明来源与抓取时间。
- 可访问性检查辅助:走通关键页面,记录无法点击或无法读出的控件;正式验收还需专门工具与人工检查。
- 一次性流程探索:先让 Agent 探索页面路径,再把稳定步骤固化为可重复的脚本。
这七类是任务设计建议,并非本站逐项完成的运行报告。涉及登录、付款、发布或个人数据时,应限制可访问站点和动作范围,并在关键提交前安排人工核对。
最小示例
以下代码结构来自项目官方入门文档。依赖、模型名称和参数可能变化,运行前应按当前文档确认:
python
import asyncio
from browser_use import Agent, ChatOpenAI
from dotenv import load_dotenv
load_dotenv()
async def main():
llm = ChatOpenAI(model="gpt-5.6-luna", reasoning_effort="xhigh")
agent = Agent(
task="打开 browser-use 项目主页,返回页面标题和网址",
llm=llm,
)
history = await agent.run()
print(history.final_result())
if __name__ == "__main__":
asyncio.run(main())官方文档当前提供 uv add browser-use 安装方式,并使用环境变量提供模型 API 密钥。示例只说明如何启动 Agent;它不保证目标页面可以访问,也不等于对返回内容做了校验。不要把密钥写进代码或日志。
上线前检查
- 结果验证:结构化提取后校验字段类型、来源网址和时间;对空值或页面变化设人工复核。
- 权限边界:使用最小权限账号和独立浏览器配置,避免复用个人浏览器的所有登录状态。
- 成本与时延:记录每次任务的模型调用、浏览器时长和失败率,在目标页面实际测量。
- 稳定性:对验证码、登录过期、弹窗、分页与页面改版分别设计处理路径。
- 外部动作:付款、发消息、发布内容等操作在提交前检查具体对象和内容。
- 站点规则:遵守目标网站的使用规则,不以自动化绕过访问限制。