乐于分享
好东西不私藏

OpenClaw操作浏览器(无头托管)

OpenClaw操作浏览器(无头托管)

当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