OpenClaw
09·4 分钟阅读·免费

浏览器控制

浏览器控制

OpenClaw 支持两种浏览器模式:

  • 托管浏览器:OpenClaw 启动并控制独立 Chromium,适合无头自动化任务
  • Chrome 扩展接管:接管你现有的 Chrome,直接使用已登录的账号状态

1. 基础配置

json
{
"browser": {
"enabled": true,
"defaultProfile": "openclaw",
"profiles": {
"openclaw": {
"cdpPort": 18800,
"color": "#FF4500"
}
}
}
}

改完后执行 openclaw gateway restart


2. CLI 常用命令

bash
# 查看状态
openclaw browser --browser-profile openclaw status
 
# 启动浏览器
openclaw browser --browser-profile openclaw start
 
# 打开网页
openclaw browser --browser-profile openclaw open https://example.com
 
# 截图(保存到当前目录)
openclaw browser --browser-profile openclaw screenshot
 
# 获取页面结构化快照(适合让 Agent 读取页面内容)
openclaw browser --browser-profile openclaw snapshot
 
# 停止浏览器
openclaw browser --browser-profile openclaw stop

3. Linux / VPS 无头环境配置

在没有显示器的服务器上运行浏览器,需要安装虚拟显示器:

bash
# Ubuntu / Debian
sudo apt-get install -y xvfb chromium-browser
 
# 启动虚拟显示
Xvfb :99 -screen 0 1280x1024x24 &
export DISPLAY=:99

或在 OpenClaw 配置里直接指定 headless 模式:

json
{
"browser": {
"enabled": true,
"defaultProfile": "openclaw",
"profiles": {
"openclaw": {
"cdpPort": 18800,
"headless": true
}
}
}
}

4. Chrome Extension 使用流程

适用于需要使用你自己账号登录态的场景(如微博、公众号后台):

  • Chrome 应用商店搜索安装 OpenClaw Browser Relay
  • 打开目标网页,点击扩展图标 → Badge 显示 ON
  • 在聊天里直接给任务,Agent 会操作你当前的页面
扩展模式无需重新登录,直接复用你已有的 Cookie 和 Session。

5. 多 Profile 配置

不同任务用不同浏览器 Profile,彼此登录态和 Cookie 完全隔离:

json
{
"browser": {
"enabled": true,
"defaultProfile": "personal",
"profiles": {
"personal": {
"cdpPort": 18800,
"color": "#4A90D9"
},
"work": {
"cdpPort": 18801,
"color": "#FF4500"
},
"scraper": {
"cdpPort": 18802,
"headless": true,
"color": "#27AE60"
}
}
}
}

切换 Profile 时在任务描述里指定:

bash
openclaw browser --browser-profile work start
openclaw browser --browser-profile scraper start

6. 结合 Cron 实现浏览器自动化

每天定时截图存档

bash
openclaw cron add \
--schedule "0 10 * * *" \
--message "用 scraper profile 打开 https://www.yoursite.com,截图并保存到 ~/screenshots/$(date +%Y%m%d).png" \
--channel telegram --target <你的ChatID>

每周一竞品监控

bash
openclaw cron add \
--schedule "0 9 * * 1" \
--message "用 scraper profile 依次打开竞品A和竞品B首页,截图对比,总结本周有哪些新功能或价格变化,发飞书" \
--channel feishu --target <飞书用户ID>

7. 实际使用场景(带完整提示词)

竞品价格监控

bash
用 scraper profile 打开 https://competitor.com/pricing,
截图并提取所有套餐名称和价格,
和上次记录对比(MEMORY.md 里有上次数据),
如有变化发飞书通知并更新 MEMORY.md

表单自动填写

bash
用 work profile 打开 https://forms.example.com/register,
按照 USER.md 里的个人信息填写表单(姓名、邮箱、公司),
提交后截图确认,告诉我提交是否成功

批量内容采集

bash
用 scraper profile 打开 https://news.example.com,
提取今天所有文章的标题、发布时间和链接,
整理成 Markdown 表格,保存到 ~/data/news-$(date +%Y%m%d).md

自动化登录后操作

bash
用 personal profile(已登录微博),
打开我的微博草稿箱,
把标题包含"待发"的第一条草稿发布出去,截图确认

8. 常见问题

现象原因解决方法
浏览器启动失败Chromium 未安装apt install chromium-browserbrew install chromium
端口冲突18800 已被占用cdpPort 为其他未占用端口(如 19800)
VPS 上无法启动没有虚拟显示安装 xvfb 或开启 "headless": true
截图全白页面未完全加载提示词里加"等待页面完全加载后再截图"
反爬被拦截检测到无头浏览器特征改用 Chrome Extension 模式,使用真实浏览器
多个 Profile 互相干扰cdpPort 相同每个 Profile 分配不同端口
Cron 里浏览器任务不执行Gateway 未启动或浏览器 Profile 未启动先手动 openclaw browser --browser-profile scraper start 测试