当openclaw处理浏览器操作时,如果我们有GUI面板,openclaw处理浏览器操作就会简单很多。但是由于我们使用的是无GUI面板的ubuntu系统。处理会稍微麻烦一点,我们需要先手动安装一下浏览器,虽然可以让OpenClaw的Agent帮我们安装,但不建议,因为需要给他开额外的高级权限才行。
1.安装Chromium 浏览器
Google Chrome 是 Google 自家的正式浏览器。而 Chromium 是 Chrom 的上游开源版本。这里要注意:Snap 版本的 Chromium 在沙箱内运行,有额外的系统调用限制(seccomp 过滤),这与 Chrome 自身的沙箱机制会产生冲突,导致 CDP 无法正常启动。所以这里推荐使用 Google Chrome 的 deb 包。它是专门给 Debian / Ubuntu 这类 Linux 系统用的安装包。
1.1下载安装包
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

1.2执行安装
sudo dpkg -i google-chrome-stable_current_amd64.deb
1.3 安装依赖
由于我们使用的是deb的方式安装的浏览器,这种方式还会缺少一些依赖。
所以我们需要让 apt 自动把上一步安装 Chrome 时缺失的依赖补齐,并把包状态修复到正常状态。
sudo apt-get install -f
1.4查看安装路径
#查看一下 Chrome 的实际可执行文件路径
which google-chrome-stable

1.5检查安装的版本
google-chrome-stable --version

1.6测试CDP连接
CDP 连接,就是程序通过 Chrome DevTools Protocol 去远程控制浏览器的连接。Playwright 是 Python 的一个浏览器自动化框架。
当我们安装浏览器后,OpenClaw会负责浏览器接入、配置和路由,laywright 负责执行很多具体自动化动作,而底层浏览器通信协议是走 CDP,这样就形成了 Linux 系统上的浏览器自动化。
验证下无沙箱、无头模式下的 CDP 连接:
google-chrome-stable --no-sandbox --headless --remote-debugging-port=9222 
只要出现监听的链接就可以了,下面无关紧要的报错比如GUI、内部的一些注册服务错误可以忽略。
2.配置openclaw使用浏览器
配置方法有两种,一种时采用命令行配置,一种时直接在配置文档中配置。我们这里选择的是命令行配置,其实最终也会落到配置文件里。
2.1启用浏览器能力
# 一般默认就是启用的
openclaw config set browser.enabled true --json
2.2配置浏览器程序路径
#配置浏览器程序路径,就是我们上面 which 命令输出的 Chrome 的实际可执行文件路径
openclaw config set browser.executablePath "/usr/bin/google-chrome-stable"
2.3开启 headless 模式
#开启 headless 模式即无头模式,也就是没有图形界面窗口。
openclaw config set browser.headless true --json
2.4 关闭沙箱
#关闭沙箱,规避 Linux 类服务器/容器环境下的权限与隔离限制问题
openclaw config set browser.noSandbox true --json
2.5指定默认浏览器 profile
# 指定默认浏览器 profile,让 OpenClaw 默认使用名为 openclaw 的浏览器配置文件
openclaw config set browser.defaultProfile "openclaw"
2.6重启一下Gateway网关
openclaw gateway restart
2.7查看openclaw配置文件
#不执行命令直接在web页面的编辑配置文件来增加相关的配置也可以。
browser: {
enabled:true,
executablePath:'/usr/bin/google-chrome-stable',
headless:true,
noSandbox:true,
defaultProfile:'openclaw',
}

3.测试浏览器实例
3.1启动Chrome实例
# 启动一个由 OpenClaw 管理的专用 Chrome 实例
openclaw browser --browser-profile openclaw start

3.2测试打开浏览器网页
# 让启动的浏览器打开一个示例网站的标签页
openclaw browser --browser-profile openclaw open https://www.baidu.com/

3.3截取当前页面的结构化快照
#截取一个页面快照或者直接截图
openclaw browser --browser-profile openclaw snapshot

3.4截取当前页面内容
#对当前页面截图
openclaw browser --browser-profile openclaw screenshot

夜雨聆风