Install
openclaw skills install @thcjp/browser-agent-pro-proopenclaw skills install @thcjp/browser-agent-pro-pro企业级浏览器自动化系统。反检测+多标签+代理+动态抓取+登录态+UI测试,支撑复杂自动化场景。
浏览器代理专业版解决企业级自动化的三大痛点:网站反爬检测导致被封禁、动态加载内容无法抓取、缺乏可回归的UI测试能力。在免费版基础操作能力之上,专业版提供完整的反检测、动态抓取、登录态管理与测试框架.
专业版完全兼容免费版的目录结构与配置格式:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 浏览器代理(专业版)处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
ls $HOME/workspace/browser/
# ...
cat $HOME/workspace/browser/config.json | grep edition
用户:"抓取 https://example.com/products 所有商品,启用反检测模式"
# ...
Agent:"已启用反检测配置:
✅ User-Agent轮换:5个真实UA随机使用
✅ 鼠标轨迹模拟:人类化移动
✅ 请求间隔:随机2-5秒
✅ 指纹伪装:Canvas/WebGL指纹随机化
开始抓取..."
响应解析: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤.
反检测层级:
处理: 解析功能一:反检测策略的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回功能一:反检测策略的响应数据,包含状态码、结果和日志.
用户:"同时打开3个商品页面对比价格:
tab1: https://shop-a.com/product/123
tab2: https://shop-b.com/product/456
tab3: https://shop-c.com/product/789"
# ...
Agent:"已打开3个标签页:
📑 Tab 1: shop-a.com/product/123 - ¥299
📑 Tab 2: shop-b.com/product/456 - ¥279
📑 Tab 3: shop-c.com/product/789 - ¥319
💡 最低价:shop-b.com ¥279"
多标签能力:
处理: 解析功能二:多标签页与会话管理的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回功能二:多标签页与会话管理的响应数据,包含状态码、结果和日志.
网络模拟能力:
处理: 解析功能三:代理与网络配置的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回功能三:代理与网络配置的响应数据,包含状态码、结果和日志.
com/products 所有商品,支持分页"
# ...
Agent:"检测到分页结构:
- 共25页,每页20条,预计500条
- 启用分页自动遍历
- 每页间隔3秒
- 已抓取:1/25页(20条)...
- 已抓取:25/25页(500条)
✅ 抓取完成,共500条,保存至CSV"
com/feed 的所有内容,支持无限滚动"
# ...
Agent:"检测到无限滚动加载:
- 滚动加载策略:每次滚动到底部等待2秒
- 终止条件:连续3次无新内容
- 已加载:1-50条...
- 已加载:451-480条
- 连续3次无新内容,停止加载
✅ 共抓取480条"
处理: 解析功能四:分页抓取与无限滚动的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回功能四:分页抓取与无限滚动的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作{
"dynamic_scraping": {
"wait_strategy": "network_idle",
"wait_timeout": 10,
"spa_support": true,
"ajax_interception": true,
"websocket_monitoring": false,
"lazy_load_trigger": true
}
}
动态内容处理:
处理: 解析功能五:动态内容抓取的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回功能五:动态内容抓取的响应数据,包含状态码、结果和日志.
agent browser auth save --name "github_session" --url "github.com"
# ...
agent browser auth load --name "github_session"
# ...
agent browser auth list
# ...
agent browser auth delete --name "github_session"
// $HOME/workspace/browser/cookies/github_session.json
{
"name": "github_session",
"domain": "github.com",
"cookies": [
{"name": "user_session", "value": "***", "domain": ".github.com", "expires": "2026-12-31"}
],
"localStorage": {},
"sessionStorage": {},
"saved_at": "2026-07-18T10:00:00+08:00",
"expires_at": "2026-12-31T00:00:00+08:00"
}
处理: 解析功能六:登录态持久化的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回功能六:登录态持久化的响应数据,包含状态码、结果和日志. 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:全功能浏览器自动、含反检测、登录态保持与、支撑企业级自动化、浏览器代理专业版、是面向企业级自动、化的全功能浏览器、控制系统、在免费版基础上解、锁反检测策略、性能监控八大高级、when、需要代码生成、编程辅助、调试测试、开发部署时使用、不适用于无明确技、术栈的模糊需求等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
痛点:需要每日监控竞品价格变化,但竞品网站有反爬机制,手动监控效率低. 配置:
"每日凌晨2点抓取以下竞品商品价格,启用反检测模式:
- shop-a.com/product/123
- shop-b.com/product/456
- shop-c.com/product/789
代理池轮换,每商品间隔5-10秒随机
结果保存CSV并发送钉钉通知"
效果:反检测避免被封,代理池轮换分散请求,每日自动执行,价格变化即时通知,节省90%监控人力.
痛点:社交媒体内容动态加载,需要滚动加载大量历史内容,传统抓取只能获取首屏. 配置:
"抓取 https://social-platform.com/topic/AI 的所有讨论帖:
- 无限滚动加载,直到无新内容
- 每条帖提取:作者、内容、点赞数、评论数
- 启用反检测,每滚动间隔3-5秒
- 最多抓取1000条"
效果:自动滚动加载480条讨论,结构化提取后导出CSV,供后续情感分析与趋势研究.
痛点:需要登录财务系统下载每月报表,手动操作繁琐且容易忘记. 配置:
agent browser auth save --name "finance_portal" --url "finance.company.com"
# ...
"加载finance_portal登录态,打开报表页面,下载本月PDF报表"
效果:登录态持久化避免每次输入密码,每月报表自动下载归档,登录态过期时提醒重新登录.
痛点:每次发版后需要手动回归测试核心页面,耗时且容易遗漏. 配置:
{
"test_suite": "smoke_test",
"trigger": "ci_post_deploy",
"tests": [
"homepage.json",
"login_flow.json",
"checkout_flow.json"
],
"on_failure": "alert_and_block_deploy"
}
效果:每次部署后自动运行回归测试,截图对比检测视觉差异,任一失败阻止部署并告警,测试报告自动生成.
| 角色 | 典型场景 | 推荐功能组合 | 核心价值 |
|---|---|---|---|
| 电商运营 | 竞品价格监控 | 反检测+代理+分页 | 避免封禁、自动监控 |
| 市场分析师 | 社交媒体采集 | 无限滚动+动态抓取 | 获取完整数据 |
| 财务人员 | 报表自动下载 | 登录态+定时任务 | 免登录、自动化 |
| QA工程师 | UI回归测试 | 测试框架+截图对比 | 自动化测试、视觉diff |
| 数据工程师 | 数据管道采集 | 分页+动态+代理 | 大规模数据采集 |
| SEO工程师 | 网站性能监控 | 性能监控+瓶颈分析 | 性能优化建议 |
| 运维工程师 | 网站可用性监控 | 多标签+性能+告警 | 可用性保障 |
agent browser test run --suite smoke_test --format json > test-result.json
# ...
if [ $? -ne 0 ]; then
echo "UI回归测试失败,阻止部署"
exit 1
fi
# ...
agent browser test report --last --send dingtalk
curl http://localhost:19197/metrics
# ...
agent browser scrape --url "https://example.com/data" \
--format json --output - | \
python3 pipeline.py --target warehouse
{
"alerts": {
"on_scrape_failure": "dingtalk",
"on_test_failure": "dingtalk+email",
"on_performance_degradation": "email",
"performance_threshold": {
"page_load_p95_ms": 3000,
"cls_threshold": 0.1
}
}
}
config.json中添加anti_detect、proxy、auth、scraping、tests配置段tests/目录存放测试用例cookies/目录存放登录态| 版本 | 日期 | 变更内容 |
|---|---|---|
| 1.0.0 | 2026-07 | 初版发布,含8大高级功能 |
免费版提供基础浏览器操作(打开、截图、点击、填写、基础抓取)。专业版新增8大高级功能:反检测策略、多标签页管理、代理与网络配置、分页抓取与无限滚动、动态内容抓取、登录态持久化、UI回归测试框架、性能监控。此外提供多角色场景指南、性能优化策略和多平台集成示例.
反检测策略用于避免被网站的反爬机制误判为恶意机器人。请在遵守目标网站Terms of Service与robots.txt的前提下使用。本技能不鼓励也不支持规避付费墙、抓取受版权保护内容或进行任何违法操作。用户需自行承担使用风险.
在config.json的proxy.rotation.pool中配置多个代理。支持HTTP/HTTPS/SOCKS5协议。建议使用住宅代理(residential proxy)而非数据中心代理,因为住宅代理更接近真实用户。代理凭证通过环境变量传入,不硬编码.
登录态(Cookie/Session)存储在本地$HOME/workspace/browser/cookies/目录,纯JSON格式。敏感cookie值加密存储。建议将该目录权限设置为600(仅所有者可读写),并纳入gitignore不提交到版本控制。登录态设置过期时间,过期后自动失效需重新登录.
对于动态内容(如时间戳、随机广告),可在测试用例中配置ignore_regions,在截图对比时忽略这些区域。也可调整visual_diff_threshold,允许一定程度的视觉差异。对于完全动态的页面,建议改用DOM结构断言而非视觉对比.
三种终止条件:
max_records限制(默认10000)可组合使用,任一条件满足即停止.
多标签页并行最多10个。超过10个会排队等待。建议大规模抓取采用分批策略,每批10个并行,批间间隔30秒。代理池需有足够IP支撑并行抓取,建议代理数量≥并行数.
支持导出为JSON、CSV格式。可与Prometheus/Grafana集成实现长期监控可视化。性能指标包括页面加载时间、FCP、LCP、CLS、TBT等Web Vitals,以及请求瀑布图与瓶颈分析.
支持三类断言:
断言失败会记录详细差异信息到测试报告.
专业版不内置验证码破解功能(这违反多数网站ToS)。遇到验证码时:
支持。可配置设备模拟(iPhone、iPad、Android等),包括视口大小、设备像素比、触摸事件模拟。用于移动端网页的抓取与测试。配合代理的移动网络限速,可完整模拟移动用户访问.
| 问题 | 可能原因 | 解决方案 | 优先级 |
|---|---|---|---|
| 抓取被网站封禁 | 反检测配置不足或IP被封 | 启用指纹伪装;增加代理池规模;降低请求频率 | 高 |
| 动态内容未加载 | 等待时间不足或SPA路由未处理 | 增加wait_timeout;启用spa_support;检查AJAX拦截 | 高 |
| 登录态失效 | Cookie过期或网站Session超时 | 检查expires_at;重新登录并保存登录态 | 高 |
| 多标签页混乱 | 标签页切换时序错误 | 使用显式wait确保页面加载;避免过快切换 | 中 |
| 代理连接失败 | 代理服务器不可用或凭证错误 | 检查代理可用性;验证环境变量;切换备用代理 | 高 |
| 无限滚动不停止 | 终止条件未触发 | 调整连续无新内容次数;设置max_records上限 | 中 |
| 测试误报 | 视觉差异阈值过低或动态内容干扰 | 提高阈值;配置ignore_regions;改用DOM断言 | 中 |
| 性能监控数据缺失 | 页面未完全加载即采集 | 增加wait_strategy为network_idle;延长等待时间 | 低 |
| 截图对比失败 | 基线截图缺失或分辨率不一致 | 更新基线截图;统一测试环境分辨率 | 中 |
| 抓取数据不完整 | 分页检测失败或懒加载未触发 | 检查分页选择器配置;启用lazy_load_trigger | 高 |
| 浏览器崩溃 | 内存不足或页面过于复杂 | 减少并行标签数;关闭资源过滤例外;增加超时 | 中 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
| Chromium浏览器 | 软件 | 必需 | 系统自带或从官方下载 |
| browser工具 | 内置工具 | 必需 | Agent平台内置浏览器工具 |
| stealth.min.js | 脚本 | 反检测必需 | 随本技能提供 |
| puppeteer | npm包 | 测试框架必需 | npm install puppeteer |
| pixelmatch | npm包 | 截图对比必需 | npm install pixelmatch |
PROXY_USER/PROXY_PASS配置DINGTALK_WEBHOOK等配置本技能基于原始开源作品改进,保留原始版权声明:
本改进作品在原始作品基础上进行了深度差异化改造,包括但不限于:
原始MIT-0 license允许使用、复制、修改和分发,无需保留版权声明。本改进作品仍保留原始声明以示尊重.
本专业版相比免费版新增以下能力:
此外,专业版还提供:
| 版本 | 价格 | 功能 | 适用场景 |
|---|---|---|---|
| 免费体验版 | ¥0 | 基础浏览器操作(打开/截图/点击/填写/基础抓取)+ 基础示例 + 基础FAQ | 个人试用、轻量操作 |
| 收费专业版 | ¥29.9/月 | 全功能(反检测+多标签+代理+动态抓取+登录态+UI测试+性能监控)+ 多角色指南 + 性能优化 + 优先支持 | 团队/企业、规模化自动化 |
专业版通过SkillHub SkillPay发布.
{
"success": true,
"data": {
"result": "浏览器代理(专业版)处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "browser agent pro pro"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。