AgentBrowser AgentBrowser

Agent Browser是一个基于Rust的快速无头浏览器自动化工具,支持AI代理通过结构化命令进行网页导航、点击、输入和页面快照。

测试 3 次安装 1 次浏览 更新于 3/5/2026

Agent Browser

一个快速的基于Rust的无头浏览器自动化CLI,带有Node.js备用方案,使AI代理能够通过结构化命令导航、点击、输入和快照页面。

安装

npm推荐

npm install -g agent-browser
agent-browser install
agent-browser install --with-deps

从源代码

git clone https://github.com/vercel-labs/agent-browser
cd agent-browser
pnpm install
pnpm build
agent-browser install

快速开始

agent-browser open example.com
agent-browser snapshot
agent-browser click @e2
agent-browser fill @e3 "test@example.com"
agent-browser get text @e1
agent-browser screenshot page.png
agent-browser close

使用真实的Chrome配置文件(适用于OAuth/登录会话)

对于需要Google/Discord等登录的网站(如star-swap.com):

方法1:使用自定义配置文件启动Chrome,通过CDP连接

# 终端1:使用您的真实配置文件和远程调试启动Chrome
google-chrome --remote-debugging-port=9222 --user-data-dir=/home/willr/.config/google-chrome/Default &

# 终端2:将agent-browser连接到该Chrome实例
agent-browser --cdp 9222 open "https://star-swap.com"
agent-browser --cdp 9222 snapshot -i
agent-browser --cdp 9222 click e2

# 这将重用您现有的Google会话 - 不需要重新登录!
# 适用于:Google OAuth,Discord OAuth,任何您在Chrome中登录的网站

方法2:会话持久性(首次手动登录)

# 第一次:有头模式,手动登录
agent-browser --headed --session starswap open "https://star-swap.com"
# 在浏览器窗口中手动完成Google OAuth
# 完成后关闭

# 未来运行:cookies持久存在!
agent-browser --session starswap open "https://star-swap.com"
# 自动登录

am.will.ryan Chrome配置文件: /home/willr/.config/google-chrome/Default

核心命令

导航

agent-browser open <url>
agent-browser back
agent-browser forward
agent-browser reload

交互

agent-browser click <sel>
agent-browser dblclick <sel>
agent-browser focus <sel>
agent-browser type <sel> <text>
agent-browser fill <sel> <text>
agent-browser clear <sel>
agent-browser press <key>
agent-browser keydown <key>
agent-browser keyup <key>
agent-browser hover <sel>
agent-browser select <sel> <val>
agent-browser check <sel>
agent-browser uncheck <sel>
agent-browser drag <src> <tgt>
agent-browser upload <sel> <files>

提取和信息

agent-browser snapshot
agent-browser get text <sel>
agent-browser get html <sel>
agent-browser get value <sel>
agent-browser get attr <sel> <attr>
agent-browser get title
agent-browser get url
agent-browser get count <sel>
agent-browser get box <sel>
agent-browser screenshot [path]
agent-browser pdf <path>

检查状态

agent-browser is visible <sel>
agent-browser is enabled <sel>
agent-browser is checked <sel>

查找元素

  • agent-browser find role <role> <action> [value]
  • agent-browser find text <text> <action>
  • agent-browser find label <label> <action> [value]
  • agent-browser find placeholder <ph> <action> [value]
  • agent-browser find alt <text> <action>
  • agent-browser find title <text> <action>
  • agent-browser find testid <id> <action> [value]

操作包括点击、填充、检查、悬停和文本。

等待和定时

agent-browser wait <selector>
agent-browser wait <ms>
agent-browser wait --text "Welcome"
agent-browser wait --url "**/dash"
agent-browser wait --load networkidle

高级控制

agent-browser scroll <dir> [px]
agent-browser scrollintoview <sel>
agent-browser eval <js>
agent-browser mouse move <x> <y>
agent-browser cookies
agent-browser storage local
agent-browser tab new [url]
agent-browser frame <sel>
agent-browser dialog accept [text]

会话

运行多个隔离的浏览器实例。

agent-browser --session agent1 open site-a.com
agent-browser --session agent2 open site-b.com

快照选项

快照命令支持过滤以减少输出大小。

  • agent-browser snapshot -i
  • agent-browser snapshot -c
  • agent-browser snapshot -d 3
  • agent-browser snapshot -s “#main”

选择器和引用

引用提供从快照中确定性选择元素。使用@ref语法。

agent-browser snapshot
agent-browser click @e2

代理模式

使用–json获得机器可读输出。

agent-browser snapshot --json

优化的AI工作流程

  • 使用agent-browser open <url>导航
  • 使用agent-browser snapshot -i --json观察
  • 使用快照中的@ref操作
  • 使用agent-browser snapshot验证

故障排除

  • 如果在Linux ARM64上找不到命令,请使用bin文件夹中的完整路径。
  • 如果找不到元素,请使用快照找到正确的引用。
  • 如果页面未加载,请在导航后添加等待命令。
  • 使用–headed查看浏览器窗口以进行调试。

选项

  • –session <name>使用隔离的会话。
  • –json提供JSON输出。
  • –full获取全页面截图。
  • –headed显示浏览器窗口。
  • –timeout设置命令超时时间(毫秒)。

注释

  • 引用在每次页面加载时是稳定的,但在导航时会更改。
  • 导航后总是快照以获取新的引用。
  • 对于输入字段,请使用fill而不是type以确保清除现有文本。