“配好了代理,写好了采集指令,结果网站弹出一个验证码,任务直接卡死……”
“人眼看着验证码,手动输入才能继续,说好的自动化呢?”
“更麻烦的是,验证码类型千奇百怪——数字字母、滑块、点选、reCAPTCHA——每种都要单独处理……”
如果你正在用OpenClaw做自动化采集或表单提交,这些场景你一定不陌生。
验证码是目前自动化路线上最常见的一堵墙。而OpenClaw的解法其实非常简单——你甚至不需要告诉AI“去解决验证码”,只需要给它一点时间。
今天这篇文章,从最简单到最专业,分三个层级,帮你把OpenClaw的验证码自动识别对接彻底讲透。
一、层级一:浏览器扩展方案
这是最简单、最推荐、对代码零侵入的方案。核心思想:在OpenClaw的浏览器里加载一个打码平台扩展,验证码在后台自动解决,AI完全感知不到。
1.1 核心原理
OpenClaw运行一个独立的Chromium浏览器配置文件,AI代理通过自然语言控制它浏览网页。当页面出现验证码时,CapSolver扩展会自动检测、解决并注入令牌——整个过程对AI透明。
最关键的是:你不需要告诉AI“去解决验证码” 。只需在指令中包含一个等待时间,让扩展有时间处理即可。
1.2 配置步骤
第一步:准备Chrome for Testing浏览器
Google Chrome 137+版本已移除--load-extension支持,必须使用Chrome for Testing或Chromium。
# 通过Playwright安装(推荐)
npx playwright install chromium
第二步:下载CapSolver扩展
mkdir -p ~/.openclaw/capsolver-extension
# 从GitHub Releases下载最新版CapSolver扩展zip包
unzip CapSolver.Browser.Extension-chrome-v*.zip -d ~/.openclaw/capsolver-extension/
第三步:配置API密钥
编辑~/.openclaw/capsolver-extension/assets/config.js,填入你的CapSolver API Key:
export const defaultConfig = {
apiKey: 'CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', // 你的密钥
useCapsolver: true,
};
第四步:修改OpenClaw配置
编辑~/.openclaw/openclaw.json:
{
"browser": {
"enabled": true,
"executablePath": "/path/to/chrome-for-testing/chrome",
"extensions": [
"~/.openclaw/capsolver-extension"
],
"noSandbox": true
}
}
第五步:重启网关
openclaw gateway restart
1.3 如何使用
配置完成后,只需在指令中加入等待时间:
示例:处理reCAPTCHA
去 https://example.com,等待60秒,然后点击提交,告诉我页面上显示什么
扩展会在后台自动检测并解决验证码,AI在60秒后点击时,令牌已经注入完成。
推荐的等待时间:
| 验证码类型 | 典型解决时间 | 推荐等待 |
|---|---|---|
| reCAPTCHA v2 | 5-15秒 | 30-60秒 |
| Cloudflare Turnstile | 3-10秒 | 20-30秒 |
| 图形验证码 | 2-5秒 | 10-15秒 |
二、层级二:Serverless API对接方案
如果你不想依赖浏览器扩展,或者需要在服务端异步处理验证码,可以采用API对接方案。这种方案的核心思路是:验证码的解决逻辑完全在服务端完成,OpenClaw只负责触发和接收结果。
2.1 工作流程
该方案用n8n工作流串联整个验证码处理流程:
OpenClaw触发 → Webhook接收 → CapSolver API解决 → 提交令牌 → 返回结果
关键优势:验证码解决过程对OpenClaw完全透明,AI代理只需要触发webhook并等待结果即可。
2.2 n8n工作流配置要点
节点1:Webhook接收
- 方法:POST
- 路径:如
/openclaw/scrape
节点2:CapSolver节点
- 凭据:填入CapSolver API Key
- 任务类型:根据验证码类型选择(ReCaptchaV2TaskProxyless / ReCaptchaV3TaskProxyless等)
- 网站URL和SiteKey从目标页面获取
节点3:HTTP请求
- 将CapSolver返回的令牌提交到目标网站
节点4:响应Webhook
- 将处理后的页面内容返回给OpenClaw
2.3 OpenClaw对接方式
创建一个触发脚本~/.openclaw/scripts/extract-data:
#!/usr/bin/env bash
curl -s -X POST http://127.0.0.1:3005/webhook/openclaw/scrape
注册脚本后,在OpenClaw中只需发送extract data命令,即可自动触发整个验证码处理流水线。
三、层级三:视觉模型OCR识别方案
对于简单的图形验证码(数字、字母组合),可以使用OCR视觉模型进行本地识别,不依赖第三方打码服务。
3.1 安装OCR技能
npx clawhub install skill-ocr
3.2 使用指令
打开 https://example.com/login,截图验证码区域,
调用OCR识别,将结果填入code输入框,提交
该方式会依次执行:snapshot → ocr_analyze → type三步骤,实现验证码的自动识别与填充。
四、验证码场景的防封策略
验证码解决只是第一步。如果频繁触发验证码,说明你的IP已经被平台“盯上”了。
4.1 降低验证码触发频率
IP轮换是第一道防线。站大爷隧道代理支持动态IP轮换,周期可精确到秒级,并覆盖全国290+城市的优质IP资源池,有效降低验证码触发概率。
加上行为随机化:
在OpenClaw配置中开启拟人化参数:
browser:
args:
- '--disable-blink-features=AutomationControlled'
humanize: true
click_jitter: 3.2
type_delay_ms: [80, 220]
设置请求间隔:
在采集指令中明确:
每个请求间隔2-5秒随机延迟,单IP连续请求不超过30次后自动换IP
4.2 站大爷隧道代理的配合价值
站大爷隧道代理在验证码防御场景中提供了关键支撑:
| 能力 | 价值 |
|---|---|
| 动态IP轮换 | 周期精确到秒级,避免单个IP频繁触发验证码 |
| 全国290+城市IP池 | 模拟真实地域用户,降低风控概率 |
| 故障秒级切换 | 主备双隧道,IP失效后自动切换,避免任务中断 |
| 高可用保障 | 服务商承诺可用率>99%,并配套API和监控能力 |
配置环境变量即可打通:
export HTTP_PROXY="http://隧道ID:密码@tps.zdaye.com:8080"
export HTTPS_PROXY="http://隧道ID:密码@tps.zdaye.com:8080"
openclaw gateway start
五、总结:三层方案怎么选?
| 验证码类型 | 推荐方案 | 复杂度 |
|---|---|---|
| reCAPTCHA / Cloudflare | CapSolver浏览器扩展 | ⭐ 极低 |
| 简单图形验证码 | OCR本地识别 | ⭐⭐ 低 |
| 自定义API对接 | n8n + CapSolver流水线 | ⭐⭐⭐ 中等 |
通用工作流:
- IP层防御:站大爷隧道代理+自动轮换
- 验证码解决:根据验证码类型选择方案
- 失败降级:多次失败后发送人工通知或切换策略
验证码识别不是自动化采集的终点,把它集成到工作流中,系统才能真正实现7×24小时无人值守。