CAPSOLVER
博客
如何使用 Vercel 代理浏览器破解 CAPTCHA – 使用 CapSolver 的逐步指南

如何通过Vercel代理浏览器解决CAPTCHA – 使用CapSolver的分步指南

Logo of CapSolver

Ethan Collins

Pattern Recognition Specialist

18-Mar-2026

通过 Vercel Agent Browser 解决 CAPTCHA

当您的 AI 代理遇到 CAPTCHA 墙时,整个工作流程就会中断。导航停止,表单无法提交,数据提取失败——所有问题都源于一个旨在阻止自动化访问的挑战。Vercel Agent Browser 是一个快速的原生 Rust CLI 工具,专为 AI 代理设计的无头浏览器自动化。它具有以可访问性为先的元素选择、语义定位器和为 LLM 优化的快照引用工作流。但像任何浏览器自动化工具一样,它也会被 CAPTCHA 卡住。

CapSolver 完全改变了这一点。通过使用内置的 --extension 标志将 CapSolver Chrome 扩展加载到 Agent Browser 中,CAPTCHA 会在后台自动且不可见地被解决。无需手动解决。无需复杂的 API 协调。您的 CLI 命令会继续运行,仿佛 CAPTCHA 从未存在过。

最棒的是?Agent Browser 支持在有头和无头模式下使用扩展——与 Playwright 不同,后者需要有头模式才能使用扩展。这意味着您的生产管道、CI/CD 工作流和无服务器部署都可以在零显示需求下正常工作。您的代理专注于它最擅长的事情——浏览页面、提取数据和自动化工作流,而 CapSolver 则在后台静默处理 CAPTCHA。

什么是 Vercel Agent Browser?

Vercel Agent Browser 是一个用 Rust 编写的无头浏览器自动化 CLI 工具,旨在实现最大性能。由 Vercel Labs 开发,它提供了一个命令行界面,控制 Chrome 而无需 Playwright 或 Node.js 来运行浏览器守护进程。其以可访问性为先的设计使用语义定位器和快照引用——使其成为 AI 代理与网页交互的理想工具。

关键特性

  • 原生 Rust CLI:快速的单二进制工具,无需浏览器守护进程的运行时依赖。
  • 快照引用工作流:获取带有元素引用的可访问性树,然后通过引用进行交互——确定性、快速且适合 AI。
  • 语义定位器:通过 ARIA 角色、文本内容、标签、占位符或替代文本查找元素——无需脆弱的 CSS 选择器。
  • 无头扩展支持:通过 Chrome 的 --headless=new 在有头和无头模式下加载 Chrome 扩展。
  • 会话管理:隔离的会话、持久化配置文件、加密状态存储和凭证管理的认证库。
  • JSON 输出模式:通过 --json 的机器可读输出用于代理管道。
  • 云提供商:内置对 Browserless、Browserbase、Browser Use、Kernel 和 iOS 模拟器的支持。
  • 安全性:域名允许列表、操作策略、内容边界和确认门禁,用于安全的 AI 代理部署。

Agent Browser 可以在任何页面上运行——包括经过身份验证的内容、动态 SPA 和 CAPTCHA 保护的网站——使其成为 AI 代理工作流、数据收集和自动化测试的理想选择。

什么是 CapSolver?

CapSolver 是一个领先的 AI 驱动的 CAPTCHA 解决服务,可以自动解决各种 CAPTCHA 挑战。凭借快速的响应时间和广泛的兼容性,CapSolver 可无缝集成到自动化工作流中。

支持的 CAPTCHA 类型

  • reCAPTCHA v2(复选框和不可见)
  • reCAPTCHA v3 & v3 企业版
  • Cloudflare Turnstile
  • Cloudflare 5 秒挑战
  • AWS WAF CAPTCHA
  • 更多

为什么这个集成与众不同

大多数 CAPTCHA 解决方案集成需要您编写样板代码:创建任务、轮询结果、将令牌注入隐藏字段。这是使用原始 Playwright 或 Puppeteer 脚本的标准方法。

Agent Browser + CapSolver 扩展采用了一种根本不同的方法:

传统(基于代码) Agent Browser + CapSolver 扩展
编写 CapSolver 服务类 在命令中添加 --extension 标志
调用 createTask() / getTaskResult() 扩展自动处理所有内容
通过 JavaScript 评估注入令牌 令牌注入是不可见的
在代码中处理错误、重试、超时 扩展在内部管理重试
每种 CAPTCHA 类型需要不同的代码 自动处理所有类型
扩展需要有头模式 在有头和无头模式下都可以工作

关键洞察:CapSolver 扩展在 Agent Browser 的 Chrome 实例中运行。当 Agent Browser 导航到包含 CAPTCHA 的页面时,扩展会检测到它,在后台解决它,并注入令牌——在您的下一个命令执行之前。您的自动化流程保持干净、专注且无 CAPTCHA。

前提条件

在设置集成之前,请确保您已:

  • 安装 Vercel Agent Browser (npm install -g agent-browser)
  • CapSolver 账户 和 API 密钥 (在此注册)
  • Node.js 16+(用于 npm 安装)

注意:与基于 Playwright 的工具不同,Agent Browser 支持在有头和无头模式下使用扩展。服务器上无需 Xvfb 或虚拟显示。

分步设置

步骤 1:安装 Agent Browser

bash 复制代码
npm install -g agent-browser
agent-browser install  # 仅在第一次下载 Chrome(来自 Chrome for Testing)

替代安装方法:

bash 复制代码
# macOS 通过 Homebrew
brew install agent-browser
agent-browser install

# 通过 Cargo(Rust)
cargo install agent-browser
agent-browser install

在 Linux 上,包含系统依赖项:

bash 复制代码
agent-browser install --with-deps

步骤 2:下载 CapSolver Chrome 扩展

下载 CapSolver Chrome 扩展并将其提取到专用目录中:

  1. 访问 CapSolver Chrome 扩展 v1.17.0 发布
  2. 下载 CapSolver.Browser.Extension-chrome-v1.17.0.zip
  3. 解压 zip:
bash 复制代码
mkdir -p ~/capsolver-extension
unzip CapSolver.Browser.Extension-chrome-v*.zip -d ~/capsolver-extension/
  1. 验证解压是否成功:
bash 复制代码
ls ~/capsolver-extension/manifest.json

您应该看到 manifest.json —— 这确认了扩展位于正确的位置。

步骤 3:配置您的 CapSolver API 密钥

打开扩展配置文件 ~/capsolver-extension/assets/config.js 并将 apiKey 值替换为您的密钥:

javascript 复制代码
export const defaultConfig = {
  apiKey: 'CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', // ← 请在此处输入您的密钥
  useCapsolver: true,
  // ...其余配置
};

您可以通过 CapSolver 仪表板 获取您的 API 密钥。

步骤 4:使用 CapSolver 扩展启动 Agent Browser

加载扩展只需一个标志——--extension

bash 复制代码
agent-browser --extension ~/capsolver-extension open https://example.com/protected-page

就是这样。CapSolver 扩展现在在浏览器中处于活动状态,并将自动解决它遇到的任何 CAPTCHA。

对于有头模式(以可视化查看浏览器):

bash 复制代码
agent-browser --extension ~/capsolver-extension --headed open https://example.com/protected-page

步骤 5:验证扩展是否加载

在有头模式下,导航到 chrome://extensions 以查看 CapSolver 扩展是否列出并启用:

bash 复制代码
agent-browser --extension ~/capsolver-extension --headed open chrome://extensions

在无头模式下,检查浏览器控制台中的 CapSolver 日志消息:

bash 复制代码
agent-browser --extension ~/capsolver-extension open https://example.com
agent-browser console

如何使用

设置完成后,使用 CapSolver 与 Agent Browser 非常简单——只需添加 --extension 标志和一个等待命令。

黄金法则

不要编写特定于 CAPTCHA 的逻辑。 只需在导航到受 CAPTCHA 保护的页面后添加一个等待,让扩展处理其工作。

示例 1:reCAPTCHA 后面的表单提交

bash 复制代码
# 导航到加载 CapSolver 扩展的页面
agent-browser --extension ~/capsolver-extension open https://example.com/contact

# 获取快照以发现表单元素
agent-browser snapshot -i
# 输出:
# - 文本框 "姓名" [ref=e1]
# - 文本框 "电子邮件" [ref=e2]
# - 文本框 "消息" [ref=e3]
# - 按钮 "提交" [ref=e4]

# 填写表单
agent-browser fill @e1 "John Doe"
agent-browser fill @e2 "[email protected]"
agent-browser fill @e3 "你好,我有关于您服务的问题。"

# 等待 CapSolver 解决 CAPTCHA
agent-browser wait 30000

# 提交——CAPTCHA 令牌已注入
agent-browser click @e4

示例 2:Cloudflare Turnstile 登录页面

bash 复制代码
# 导航到登录页面
agent-browser --extension ~/capsolver-extension open https://example.com/login

# 获取交互元素
agent-browser snapshot -i

# 填写凭据
agent-browser find label "电子邮件" fill "[email protected]"
agent-browser find label "密码" fill "mypassword123"

# 等待 Turnstile 解决
agent-browser wait 20000

# 点击登录——Turnstile 已处理
agent-browser find role button click --name "登录"

示例 3:受保护页面的数据提取

bash 复制代码
# 导航到受保护页面
agent-browser --extension ~/capsolver-extension open https://example.com/data

# 等待任何 CAPTCHA 挑战清除
agent-browser wait 30000

# 使用快照提取页面内容
agent-browser snapshot --json

# 或获取特定元素的文本
agent-browser get text "body"

示例 4:链式命令(单行)

Agent Browser 支持命令链以实现高效的自动化:

bash 复制代码
# 打开、等待 CAPTCHA、填写表单并提交——所有内容在一行中
agent-browser --extension ~/capsolver-extension open https://example.com/contact && \
  agent-browser wait 30000 && \
  agent-browser snapshot -i && \
  agent-browser fill @e1 "John Doe" && \
  agent-browser fill @e2 "[email protected]" && \
  agent-browser click @e3

示例 5:带 JSON 输出的脚本工作流

对于 AI 代理管道,使用 --json 获取机器可读输出:

bash 复制代码
#!/bin/bash
EXTENSION=~/capsolver-extension

# 使用扩展打开页面
agent-browser --extension "$EXTENSION" open https://example.com/protected

# 等待 CAPTCHA 解决
agent-browser wait 30000

# 以 JSON 格式获取快照以供 AI 处理
SNAPSHOT=$(agent-browser snapshot -i --json)

# 解析引用并交互
agent-browser click @e2
agent-browser get text "body" --json

推荐的等待时间

CAPTCHA 类型 典型解决时间 推荐等待时间
reCAPTCHA v2(复选框) 5-15 秒 30-60 秒
reCAPTCHA v2(不可见) 5-15 秒 30 秒
reCAPTCHA v3 3-10 秒 20-30 秒
Cloudflare Turnstile 3-10 秒 20-30 秒

提示:如果不确定,使用 30 秒。等待更长时间比过早提交更好。额外的时间不会影响结果。

背后的工作原理

以下是当 Agent Browser 在加载 CapSolver 扩展的情况下运行时发生的情况:

复制代码
您的 Agent Browser 命令
───────────────────────────────────────────────────
agent-browser --extension       ──►  Chrome 启动并加载扩展
  ~/capsolver-extension
  open https://...
                                           │
                                           ▼
                               ┌─────────────────────────────┐
                               │  包含 CAPTCHA 小部件的页面     │
                               │                               │
                               │  CapSolver 扩展:         │
                               │  1. 内容脚本检测页面上的    │
                               │     CAPTCHA                    │
                               │  2. 服务工作者调用          │
                               │     CapSolver API             │
                               │  3. 接收到令牌                │
                               │  4. 令牌注入到隐藏表单字段    │
                               └─────────────────────────────┘
                                           │
                                           ▼
agent-browser wait 30000         扩展解决 CAPTCHA...
                                           │
                                           ▼
agent-browser snapshot -i        Agent Browser 读取元素
agent-browser click @e2          表单提交并带有有效令牌
                                           │
                                           ▼
                               "验证成功!"

扩展如何加载

当 Agent Browser 使用 --extension 标志启动 Chrome 时:

  1. Chrome 启动并加载 CapSolver 扩展(在无头模式下使用 --headless=new,支持 Manifest V3 扩展)
  2. 扩展激活——其服务工作者启动并内容脚本注入到每个页面
  3. 在包含 CAPTCHAs 的页面上——内容脚本检测小部件,调用 CapSolver API,并将解决方案令牌注入页面
  4. Agent Browser 正常运行——快照、点击和数据提取如常工作,CAPTCHAs 已处理

完整配置参考

以下是 Agent Browser + CapSolver 集成的完整设置,包含所有配置选项:

CLI 标志

bash 复制代码
agent-browser \
  --extension ~/capsolver-extension \
  --headed \
  --session-name my-session \
  open https://example.com

环境变量

bash 复制代码
# 将扩展路径设置为环境变量(避免重复使用 --extension)
export AGENT_BROWSER_EXTENSIONS=~/capsolver-extension

# 现在每个命令都会自动加载扩展
agent-browser open https://example.com
agent-browser wait 30000
agent-browser snapshot -i

配置文件 (agent-browser.json)

在项目目录中创建 agent-browser.json 以设置持久默认值:

json 复制代码
{
  "extension": ["~/capsolver-extension"],
  "sessionName": "my-project",
  "headed": false
}

配置选项

选项 描述
--extension <path> 包含 manifest.json 的解压 CapSolver 扩展目录路径。可重复以添加多个扩展。
--headed 显示浏览器窗口用于可视化调试。扩展在两种模式下都有效。
--session-name <name> 在浏览器重启时自动保存/恢复 cookies 和 localStorage。
--profile <path> 持久化浏览器配置文件目录(cookies、IndexedDB、缓存)。
AGENT_BROWSER_EXTENSIONS --extension 标志的环境变量替代。多个扩展的逗号分隔路径。
CapSolver的API密钥直接配置在扩展程序的assets/config.js文件中(参见上述步骤3)。

故障排除

扩展未加载

症状:验证码无法自动解决。

可能原因

  • 扩展路径错误 — 确保指定目录中存在manifest.json
  • 扩展不兼容 — 使用CapSolver的Chrome版本(非Firefox)

解决方法:验证路径并检查扩展是否加载:

bash 复制代码
# 验证manifest是否存在
ls ~/capsolver-extension/manifest.json

# 以有头模式测试以视觉确认
agent-browser --extension ~/capsolver-extension --headed open chrome://extensions

验证码未解决(表单失败)

可能原因

  • 等待时间不足 — 增加至60秒
  • API密钥无效 — 检查你的CapSolver仪表板
  • 余额不足 — 为CapSolver账户充值
  • 扩展未加载 — 参见“扩展未加载”部分

通过控制台日志调试

bash 复制代码
agent-browser --extension ~/capsolver-extension open https://example.com
agent-browser wait 30000
agent-browser console  # 检查CapSolver消息

找不到Chrome

症状agent-browser无法找到Chrome可执行文件。

解决方法:运行安装命令以下载Chrome测试版:

bash 复制代码
agent-browser install

或指向自定义Chrome可执行文件:

bash 复制代码
agent-browser --executable-path /path/to/chrome open https://example.com

多个扩展

可以通过重复--extension标志加载多个扩展:

bash 复制代码
agent-browser \
  --extension ~/capsolver-extension \
  --extension ~/another-extension \
  open https://example.com

最佳实践

  1. 使用AGENT_BROWSER_EXTENSIONS环境变量。 在shell配置文件或CI配置中设置一次,每次agent-browser命令都会自动加载CapSolver,无需重复标志。

  2. 始终使用较长的等待时间。 更长的等待时间更安全。验证码通常在5-20秒内解决,但网络延迟、复杂挑战或重试可能增加时间。30-60秒是最佳选择。

  3. 保持自动化脚本简洁。 不要在命令中添加特定于验证码的逻辑。扩展会处理一切 —— 你的脚本应专注于导航、交互和数据提取。

  4. 监控你的CapSolver余额。 每次验证码解决都会消耗积分。定期在capsolver.com/dashboard检查余额,避免中断。

  5. 使用会话持久化进行重复访问。 使用--session-name--profile在运行之间保留Cookie。这可以减少验证码频率,因为网站可能识别返回的会话。

  6. 在生产环境中使用无头模式。 与Playwright不同,Agent Browser支持无头模式下的扩展。无需在服务器上使用Xvfb或虚拟显示器 —— 直接运行命令即可。

结论

Vercel Agent Browser + CapSolver集成将隐形验证码解决功能带入了目前最快的、最优化的AI浏览器自动化CLI中。你无需编写复杂的验证码处理代码,只需:

  1. 下载CapSolver扩展并配置API密钥
  2. 在Agent Browser命令中添加--extension ~/capsolver-extension
  3. 在与验证码保护表单交互前添加等待命令

CapSolver Chrome扩展会处理其余部分 —— 检测验证码,通过CapSolver API解决,并将令牌注入页面。你的Agent Browser命令根本无需了解验证码。

与需要有头模式和虚拟显示器的Playwright解决方案不同,Agent Browser开箱即支持无头模式下的扩展 —— 这是生产环境中无验证码自动化的最简单路径。

准备好开始了吗? 注册CapSolver 并使用优惠码AGENTBROWSER在首次充值时获得额外6%的优惠!

FAQ

我需要编写特定于验证码的代码吗?

不需要。CapSolver扩展在Agent Browser的Chrome实例中完全在后台运行。只需在提交表单前添加agent-browser wait 30000,扩展会自动处理检测、解决和令牌注入。

可以在无头模式下运行吗?

可以!这是与基于Playwright的解决方案相比的一大优势。Agent Browser使用Chrome的--headless=new模式,支持Manifest V3扩展。无需Xvfb或虚拟显示器。

我需要Playwright或Node.js吗?

不需要。Agent Browser是一个独立的Rust二进制文件。你只需要Node.js用于npm install步骤。浏览器守护进程原生运行,无需JavaScript运行时。

CapSolver支持哪些验证码类型?

CapSolver支持reCAPTCHA v2(复选框和隐形)、reCAPTCHA v3、Cloudflare Turnstile、AWS WAF验证码等。扩展会自动检测验证码类型并相应解决。

CapSolver的费用是多少?

CapSolver根据验证码类型和数量提供具有竞争力的定价。访问capsolver.com查看当前定价。

Vercel Agent Browser是免费的吗?

是的。Agent Browser在Apache 2.0许可证下开源。CLI和所有功能均可免费使用。访问GitHub仓库了解更多信息。

我应该等待多久让验证码被解决?

对于大多数验证码,30-60秒就足够了。实际解决时间通常为5-20秒,但增加额外缓冲时间可以确保可靠性。不确定时,使用agent-browser wait 30000等待30秒。

我可以将其与AI代理一起使用吗?

当然可以。Agent Browser专为AI代理设计(有一些选择可以比较)。使用--json获取机器可读输出,使用快照引用工作流进行确定性元素选择,以及使用命令链进行高效多步骤自动化。CapSolver扩展会与你的代理命令透明地一起运行。

合规声明: 本博客提供的信息仅供参考。CapSolver 致力于遵守所有适用的法律和法规。严禁以非法、欺诈或滥用活动使用 CapSolver 网络,任何此类行为将受到调查。我们的验证码解决方案在确保 100% 合规的同时,帮助解决公共数据爬取过程中的验证码难题。我们鼓励负责任地使用我们的服务。如需更多信息,请访问我们的服务条款和隐私政策。

更多