OpenClaw 专题

重点内容

浏览器自动化 AI 工具完整指南,从入门到精通。

OpenClaw 简介

什么是 OpenClaw

OpenClaw 是一款基于 AI 的浏览器自动化工具,它可以理解自然语言指令, 自动完成网页操作任务。与传统的自动化脚本不同,OpenClaw 具有视觉理解能力,可以像人一样"看懂"网页并做出智能决策。

核心能力

🖱️
网页操控
点击、输入、滚动、拖拽等交互操作
📝
表单填写
智能识别表单字段,自动填充数据
📊
数据抓取
提取网页内容,结构化输出数据
📸
截图分析
视觉理解网页内容,智能决策

与 Claude Code 的区别

特性OpenClawClaude Code
主要用途 浏览器自动化、网页操作 代码生成、编程辅助
运行环境 浏览器内 命令行终端
输入方式 自然语言 + 网页上下文 自然语言 + 代码文件
适用场景 数据采集、表单自动化、测试 代码开发、重构、调试
快速接入
3 步完成 OpenClaw 接入配置。

1 安装 OpenClaw

Terminal
Bash
# 使用 npm 全局安装
npm install -g openclaw

# 或使用 npx 直接运行(无需安装)
npx openclaw

2 配置 Bee Agents 中转

创建或编辑配置文件:

~/.openclaw/config.json
JSON
{
  "apiProvider": "anthropic",
  "apiBaseUrl": "https://api.beeagents.org",
  "apiKey": "sk-你的OpenClaw分组令牌",
  "model": "claude-3-5-sonnet-20241022",
  "headless": false,
  "timeout": 30000
}
重要:请确保令牌分组为 openclaw,其他分组的令牌无法使用。

3 验证连接

Terminal
Bash
# 运行测试命令
openclaw test

# 或执行简单任务
openclaw "打开百度首页并搜索 Bee Agents"
预期结果:浏览器窗口自动打开,执行指定操作。如果看到正常的浏览器行为,说明配置成功。
高级使用技巧

浏览器自动化脚本编写

OpenClaw 支持将自然语言指令编写为可复用的脚本文件:

tasks/login-github.yaml
YAML
name: "GitHub 登录"
description: "自动登录 GitHub 账号"
steps:
  - action: navigate
    url: "https://github.com/login"
  - action: type
    selector: "#login_field"
    text: "${USERNAME}"
  - action: type
    selector: "#password"
    text: "${PASSWORD}"
  - action: click
    selector: "input[type='submit']"
  - action: wait
    condition: "url contains 'github.com'"
    timeout: 10000

运行脚本:openclaw run tasks/login-github.yaml

数据抓取最佳实践

  • 使用结构化输出:指定 JSON/CSV 格式,便于后续处理
  • 添加等待策略:确保页面完全加载后再抓取
  • 分页处理:使用循环自动翻页抓取所有数据
  • 错误重试:网络波动时自动重试请求
示例
Bash
openclaw "打开豆瓣电影 Top250,抓取所有电影的名称、评分、导演,输出为 JSON 格式"

多页面工作流

OpenClaw 可以在多个标签页之间切换,执行复杂的跨页面任务:

示例指令
Text
1. 在第一个标签页打开 Google Sheets
2. 新建一个标签页打开数据源网站
3. 从数据源抓取表格数据
4. 切换回 Google Sheets,粘贴数据
5. 保存并分享文档

与 Claude Code 联动

结合 Claude Code 和 OpenClaw,可以实现更强大的自动化工作流:

  1. Claude Code 分析需求,生成 OpenClaw 脚本
  2. OpenClaw 执行浏览器任务,收集数据
  3. Claude Code 处理收集的数据,生成报告
  4. OpenClaw 将报告上传到指定位置
案例展示

案例 1:自动填写表单

场景:批量填写问卷调查

命令
Bash
openclaw "打开问卷星链接 xxx,根据以下规则填写:
- 姓名:张三
- 年龄:选择 25-30
- 职业:选择 IT/互联网
- 满意度:选择 非常满意
提交表单后截图保存"

案例 2:批量数据采集

场景:采集竞品价格信息

命令
Bash
openclaw "打开京东,搜索 iPhone 15,抓取前 20 个商品的:
- 商品名称
- 价格
- 店铺名称
- 评价数量
输出为 CSV 文件保存到 ~/Desktop/jd-iphone15.csv"

案例 3:网页截图自动化

场景:定时截取竞品官网变化

screenshot-task.yaml
YAML
name: "竞品官网截图"
urls:
  - "https://competitor-a.com"
  - "https://competitor-b.com"
  - "https://competitor-c.com"
actions:
  - wait: 3000  # 等待页面加载
  - screenshot:
      fullPage: true
      output: "screenshots/${domain}_${date}.png"
故障排查

常见错误代码

错误码含义解决方案
AUTH_FAILED 认证失败 检查 API Key 是否正确,确保使用 openclaw 分组令牌
TIMEOUT 请求超时 增加 timeout 配置值,检查网络连接
ELEMENT_NOT_FOUND 元素未找到 页面可能未完全加载,添加等待时间
NAVIGATION_FAILED 页面导航失败 检查 URL 是否正确,目标网站是否可访问
RATE_LIMITED 请求频率限制 降低请求频率,添加延迟

连接问题诊断

诊断命令
Bash
# 测试 API 连接
openclaw diagnose

# 检查配置文件
openclaw config --show

# 启用调试模式
openclaw --debug "你的指令"

性能优化建议

  • 启用 headless 模式:无需显示浏览器界面时,设置 headless: true 可提升速度
  • 复用浏览器实例:批量任务时保持浏览器打开,避免重复启动开销
  • 优化等待策略:使用元素可见性检测替代固定延时
  • 缓存登录状态:保存 cookies,避免重复登录
更多问题?

如果以上内容未能解决你的问题,请: