使用 OpenClaw browser 插件控制 Chrome 浏览器(CDP 协议)。当需要通过 OpenClaw 控制浏览器访问网页、截图、执行 JS 时使用此技能。
OpenClaw 的 browser 插件通过 Chrome CDP (Chrome DevTools Protocol) 控制浏览器。
// openclaw.json 中配置
{
"browser": {
"noSandbox": true,
"headless": true
}
}
# 启动浏览器
browser action=start
# 检查状态
browser action=status
OpenClaw 会自动启动 Chrome,监听 127.0.0.1:18800。
当你需要保持登录状态时,可以先手动启动浏览器,再用 OpenClaw 的 CDP 连接:
# 1. 手动启动 Chrome(带隐身目录,保留登录态)
google-chrome \
--headless=new \
--no-sandbox \
--disable-gpu \
--remote-debugging-port=18800 \
--user-data-dir=/root/.openclaw/browser/openclaw/user-data
# 2. OpenClaw 连接
browser action=start
# 打开网页
browser action=open targetUrl=https://www.douyin.com
# 截图
browser action=screenshot targetId=<tab-id>
# 页面快照(获取 DOM 结构)
browser action=snapshot targetId=<tab-id>
# 执行 JavaScript
browser action=act targetId=<tab-id> kind=evaluate fn="document.title"
# 点击元素
browser action=act targetId=<tab-id> kind=click ref=<element-ref>
# 键盘输入
browser action=act targetId=<tab-id> kind=type text="hello"
browser action=tabs
返回示例:
{
"tabs": [
{
"targetId": "297493F38A57B1E9873822C2A3A15DF7",
"title": "douyin.com/jingxuan",
"url": "https://www.douyin.com/jingxuan"
}
]
}
默认的 --headless 模式会使用 HeadlessChrome User-Agent,容易被网站检测。
在 openclaw.json 中配置(无效,不生效):
{
"browser": {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36"
}
}
结论:OpenClaw browser 插件不支持自定义 User-Agent,headless 模式始终使用 HeadlessChrome。
替代方案:
google-chrome CLI 启动时手动指定 --user-agent浏览器使用 --user-data-dir 指定目录存储 cookie 和 session:
google-chrome \
--user-data-dir=/root/.openclaw/browser/openclaw/user-data
重启后登录状态会保留(除非网站强制重新验证)。
{ "browser": { "noSandbox": true } }
这是因为默认启动带 GUI 的 Chrome。设置 headless: true 可以解决:
{ "browser": { "headless": true } }
OpenClaw 的 browser 插件在 Linux 无头模式下可能超时。可以手动启动 Chrome 后再连接:
# 先杀掉已有 Chrome
pkill -9 chrome
# 手动启动
google-chrome --headless=new --no-sandbox --disable-gpu \
--remote-debugging-port=18800 \
--user-data-dir=/root/.openclaw/browser/openclaw/user-data &
sleep 3
# 再让 OpenClaw 连接
browser action=start
国内网站(抖音、B站等)在服务器环境中可能无法加载(需要国内网络或代理)。确保: