agent-browser 浏览器自动化 CLI

agent-browser 浏览器自动化 CLI

一句话
Vercel Labs 出品的浏览器自动化 CLI,专为 AI Agent 设计(Rust 原生、快),让 AI 像人一样开浏览器、点按钮、抓数据、看网络请求。底层走 Chrome DevTools Protocol(CDP)。

  • 官网:https://agent-browser.dev
  • GitHub:https://github.com/vercel-labs/agent-browser
  • 本机版本:0.27.0(2026-09 安装)
  • 适用:Claude Code / Codex / Cursor / Copilot / Gemini 等任何能跑 shell 的 Agent

一、为什么用它

对比项 agent-browser Playwright MCP
上下文占用 低(官方称省 ~93%) 高
底层 CDP(Chrome 原生协议) Playwright
形态 原生 CLI,一条命令一步 MCP 工具调用
登录态 可 CDP 连已登录浏览器 / 导入 Cookie 需单独配置

适合场景
页面自动化操作、截图、抓取渲染后内容、观察/录制网络请求(XHR/HAR)、视频播放心跳分析、多步工作流。


二、安装(本机已完成)

npm install -g agent-browser     # 安装 CLI(本机已装 0.27.0)
agent-browser install            # 下载 Chrome for Testing(可选;本机网络超时未成,自动用系统 Chrome)
  • 浏览器运行时:自动检测并使用本机 Google Chrome / Edge / Playwright Chromium
  • 验证可用:agent-browser open "about:blank" → agent-browser close

三、常用命令速查

导航与操作

agent-browser open <url>            # 打开页面(别名 goto/navigate)
agent-browser snapshot              # 无障碍树快照(含 @ref,AI 最常用)
agent-browser click @e1             # 按 ref 点击
agent-browser click "#submit"       # 也支持 CSS 选择器
agent-browser fill @e3 "text"       # 填写
agent-browser type/press/hover/scroll/select/upload …
agent-browser screenshot page.png   # 截图(--full 全页)
agent-browser pdf out.pdf           # 存 PDF
agent-browser eval "js..."          # 页面内执行 JS
agent-browser wait <sel|ms>         # 等待元素 / 时间
agent-browser tab / window          # 标签页 / 窗口管理

获取信息

agent-browser get text @e1          # 取文本
agent-browser get html @e1          # 取 HTML
agent-browser get title / url       # 标题 / 地址
agent-browser read [url]            # 提取可读正文(不发浏览器)

网络请求(重点)

agent-browser network requests                          # 列出被跟踪请求
agent-browser network requests --type xhr,fetch        # 只看 XHR/fetch
agent-browser network requests --method POST           # 只看 POST
agent-browser network requests --filter heartbeat      # 按关键字过滤
agent-browser network request <requestId>              # 看单个请求完整参数/响应
agent-browser network har start --content all          # 开始录 HAR(含响应体)
agent-browser network har stop heartbeat.har           # 停止并保存 HAR
agent-browser network route <url> [--abort|--body]     # 拦截 / 阻断 / 伪造请求

其他

agent-browser cookies / storage       # Cookie / localStorage
agent-browser connect <port>          # CDP 连接已登录浏览器
agent-browser set headers '{"..."}'   # 附加请求头
agent-browser batch "cmd1" "cmd2"     # 批量执行
agent-browser chat "指令"              # AI 自然语言控制

四、视频播放心跳分析(核心用法)

能分析视频网站的心跳吗?
能。 播放心跳本质是播放器周期性发出的 XHR/fetch 上报请求(如 B 站 .../web/heartbeat、YouTube heartbeat),用 agent-browser 的网络跟踪 / HAR 即可捕获分析。

推荐工作流

# 1. 打开视频页(可先 CDP 连已登录浏览器,解决会员/登录)
agent-browser open "https://www.bilibili.com/video/BVxxxx"

# 2. 点击播放
agent-browser snapshot && agent-browser click "播放按钮"

# 3. 开始录制 HAR(含响应体)
agent-browser network har start --content all

# 4. 播放一段时间
agent-browser wait 60000

# 5. 停止录制,拿到 HAR
agent-browser network har stop heartbeat.har

# 6. 实时看请求(或事后从 HAR 提取)
agent-browser network requests --type xhr,fetch --method POST

能分析出什么

  • 心跳接口:URL、方法、请求头
  • 心跳参数:播放进度、总时长、清晰度、会话签名等(需结合接口语义解读)
  • 心跳频率:HAR 时间线看间隔(15s/30s/60s)
  • 播放状态判断:心跳是否持续 → 判断视频是否真的在播

局限

限制 说明
不解析业务语义 只给原始请求,字段含义需自行/AI 分析
需持续观察 心跳周期性,要 wait 或录 HAR
登录/风控 部分站点心跳带签名,需登录态(CDP/Cookie)
DRM 加密流看不到明文媒体,但心跳接口本身可捕获

五、注意与技巧

  • 心跳一般要播放一段时间才出现,别开页立刻查
  • 弹窗/遮罩会挡点击 → 先 snapshot 看覆盖元素再操作
  • read 命令不启动浏览器,适合快速抓文本,省资源
  • Agent 批量流程用 agent-browser batch "...",避免每条命令重复启动进程

相关

  • 本机 Obsidian 相关:AI 工具类笔记
  • 同类工具:控制应用内浏览器(Codex 内置)、gstack/browse、Playwright MCP
赞 (0)
下一篇 2026年9月25日 上午9:54

猜你喜欢

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Optimized by WPJAM Basic。