首页openclaw教程中心 › 浏览器自动化专题教程

浏览器自动化专题教程

浏览器工具概述

OpenClaw 内置了浏览器工具(Browser Tool),可以让智能体控制一个真实的 Chromium 浏览器实例。这不是简单的 HTTP 请求——智能体能像人一样操作网页:打开页面、点击按钮、填写表单、截图分析、提取文本。 浏览器工具的核心能力: - 导航:打开任意 URL,等待页面加载完成 - 交互:点击元素、输入文本、选择下拉框 - 截图:对整个页面或指定区域截图 - 提取:获取页面文本内容、DOM 结构 - Cookie 管理:保持登录状态,跨会话复用

启用浏览器工具

浏览器工具默认是禁用的,需要在配置中显式启用。

方法一:配置文件

编辑 ~/.openclaw/openclaw.json: ``json { "tools": { "allow": ["browser"] } } `

方法二:使用工具组

如果你想启用包含浏览器在内的一组 Web 工具:
`json { "tools": { "allow": ["group:web"] } } ` group:web 包含 browserweb_searchweb_fetch 等网络相关工具。

方法三:按智能体配置

如果你运行多个智能体,可以只给特定智能体启用浏览器:
`json { "agents": { "list": [ { "id": "web-agent", "tools": { "allow": ["browser"] } }, { "id": "code-agent", "tools": { "deny": ["browser"] } } ] } } `

基本操作

导航 — 打开网页

让智能体打开一个网页:
` 请打开 https://example.com 并告诉我页面上有什么内容 ` 智能体会使用浏览器工具: 1. 启动 Chromium 实例(如果尚未启动) 2. 导航到目标 URL 3. 等待页面加载完成 4. 提取页面内容或截图

点击 — 交互操作

智能体可以通过 CSS 选择器或文本内容定位并点击元素:
` 打开 https://example.com,点击"登录"按钮 ` 浏览器工具支持多种定位方式: - 文本内容:点击包含特定文本的元素 - CSS 选择器:通过 class、id 等精确定位 - 坐标:点击页面上的特定位置

输入 — 填写表单

智能体可以在输入框中输入文本:
` 在搜索框中输入"OpenClaw 教程",然后点击搜索按钮 `

截图 — 页面分析

截图是浏览器工具最常用的功能之一。智能体可以截取页面截图,然后通过视觉分析理解页面内容:
` 打开 https://example.com 并截图,分析页面的布局结构 ` 截图的用途: - 分析页面 UI 布局 - 检查样式是否正确 - 验证部署后的页面效果 - 捕获错误页面用于排查

提取文本 — 获取内容

智能体可以提取页面上的文本内容:
` 打开这个网页,提取所有文章标题和链接 ` 这对于网页抓取、数据采集非常有用。

登录保持

很多网站需要登录才能访问内容。OpenClaw 提供了
browser-login 功能来保持登录状态。

使用 browser-login

`bash openclaw browser-login ` 这个命令会: 1. 打开一个可见的 Chromium 窗口 2. 你手动登录目标网站 3. 登录完成后,Cookie 会被保存 4. 后续智能体使用浏览器工具时会自动携带这些 Cookie Cookie 保存在 OpenClaw 的数据目录中: ` ~/.openclaw/browser/cookies.json `

多站点登录

你可以为多个网站保存登录状态:
`bash

登录 GitHub

openclaw browser-login --url https://github.com

登录其他网站

openclaw browser-login --url https://example.com
`

注意事项

- Cookie 有过期时间,过期后需要重新登录 - 不要在共享环境中使用 browser-login,Cookie 包含敏感信息 - 某些网站的反爬机制可能会检测自动化浏览器

Linux 服务器环境排查

在 Linux 服务器上使用浏览器工具,最常见的问题是缺少 Chromium 依赖。

安装 Chromium

Ubuntu/Debian:
`bash sudo apt update sudo apt install -y chromium-browser

或者安装 Google Chrome

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb sudo apt -f install
` CentOS/RHEL: `bash sudo yum install -y chromium `

安装依赖库

Chromium 需要一些系统库才能运行。如果遇到启动失败,安装以下依赖:
`bash sudo apt install -y \ libnss3 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcups2 \ libdrm2 \ libxkbcommon0 \ libxcomposite1 \ libxdamage1 \ libxrandr2 \ libgbm1 \ libpango-1.0-0 \ libcairo2 \ libasound2 `

无头模式

服务器通常没有图形界面,需要使用无头模式(Headless)。OpenClaw 默认在无头模式下运行浏览器,无需额外配置。 如果遇到问题,可以在配置中显式指定:
`json { "browser": { "headless": true } } `

常见错误排查

错误:Failed to launch the browser process
`bash

检查 Chromium 是否安装

which chromium-browser || which google-chrome

检查依赖是否完整

ldd $(which chromium-browser) | grep "not found"

尝试手动启动

chromium-browser --headless --no-sandbox --dump-dom https://example.com
` 错误:No usable sandbox 在 Docker 容器或某些受限环境中,需要禁用沙箱: `json { "browser": { "args": ["--no-sandbox", "--disable-setuid-sandbox"] } } ` ⚠️ 禁用沙箱会降低安全性,仅在受信任的环境中使用。

WSL2/Windows 远程 CDP 配置

如果你在 WSL2 中运行 OpenClaw,但想使用 Windows 上的 Chrome 浏览器,可以通过 Chrome DevTools Protocol(CDP)远程连接。

步骤一:在 Windows 上启动 Chrome 调试模式

在 Windows 的命令提示符或 PowerShell 中运行:
`powershell "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 `

步骤二:在 WSL2 中配置 OpenClaw

编辑
~/.openclaw/openclaw.json`json { "browser": { "cdpUrl": "ws://host.docker.internal:9222" } } ` 如果 host.docker.internal 不可用,使用 Windows 主机的 IP 地址: `bash

在 WSL2 中获取 Windows 主机 IP

cat /etc/resolv.conf | grep nameserver | awk '{print $2}'
` 然后配置: `json { "browser": { "cdpUrl": "ws://172.x.x.x:9222" } } `

步骤三:验证连接

`bash

测试 CDP 连接

curl http://172.x.x.x:9222/json/version
` 如果返回 Chrome 版本信息,说明连接成功。

常见使用场景

场景一:网页抓取

让智能体抓取网页数据:
` 请打开 https://news.ycombinator.com,提取首页所有文章的标题和链接, 整理成 Markdown 表格 `

场景二:表单填写

自动化填写重复性表单:
` 打开后台管理页面 https://admin.example.com, 在"新建用户"表单中填写以下信息: - 用户名:testuser - 邮箱:test@example.com - 角色:管理员 然后点击提交 `

场景三:截图分析

检查网页的视觉效果:
` 打开 https://my-site.com,分别在桌面端和移动端视口下截图, 对比两个版本的布局差异 `

场景四:Web 测试

简单的端到端测试:
` 打开 https://my-app.com/login, 输入用户名 admin 和密码 test123, 点击登录按钮, 验证是否跳转到了仪表板页面 `

场景五:竞品分析

分析竞品网站的功能和设计:
` 打开以下三个网站,分别截图并分析它们的首页设计: 1. https://site-a.com 2. https://site-b.com 3. https://site-c.com 对比它们的导航结构、配色方案和 CTA 按钮设计 `

安全注意事项

使用浏览器工具时需要注意以下安全问题: - 不要在共享服务器上保存敏感网站的 Cookie - 定期清理不再需要的 Cookie - 使用沙箱模式隔离浏览器环境

访问控制

- 通过
tools.allow / tools.deny 精确控制哪些智能体可以使用浏览器 - 不受信任的技能不应该有浏览器访问权限 - 考虑使用沙箱模式运行浏览器

网站规则

- 遵守目标网站的 robots.txt 和使用条款 - 控制请求频率,避免被封禁 - 不要用浏览器工具进行恶意操作

数据安全

- 浏览器截图可能包含敏感信息 - 提取的页面内容会进入智能体的上下文 - 注意不要将敏感页面内容泄露到日志中

性能优化

复用浏览器实例

OpenClaw 默认会复用浏览器实例,避免每次操作都启动新的 Chromium 进程。如果你发现浏览器占用过多内存,可以配置自动关闭:
`json { "browser": { "idleTimeout": 300 } } ` 这会在浏览器空闲 5 分钟后自动关闭。

禁用不必要的功能

在服务器环境中,可以禁用一些不需要的浏览器功能来节省资源:
`json { "browser": { "args": [ "--disable-gpu", "--disable-dev-shm-usage", "--disable-extensions", "--no-first-run" ] } } `

小结

浏览器工具让 OpenClaw 智能体具备了"看见"和"操作"网页的能力: - 通过
tools.allow 启用浏览器工具 - 支持导航、点击、输入、截图、文本提取等操作 - 使用 browser-login` 保持登录状态 - Linux 服务器需要安装 Chromium 和依赖库 - WSL2 可以通过 CDP 连接 Windows 上的 Chrome - 注意安全:控制访问权限、保护 Cookie、遵守网站规则 #浏览器自动化 #网页操作 #Chromium控制 #截图分析 #龙虾技能库
#浏览器#自动化#网页操作#截图#进阶教程

📚 相关教程

Hooks 事件脚本专题教程进阶
掌握 OpenClaw 的 Hooks 事件驱动机制,学会在特定事件发生时自动执行脚本,实现会话管理、日志记录和通知推送等自动化场景。
自动化与定时任务教程进阶
掌握 OpenClaw 的五大自动化机制——Cron 定时任务、Heartbeat 周期检查、Hooks 事件脚本、Standing Orders 持久指令和 Task Flow 多步骤编排,让智能体自动完成重复性工作。
远程代码执行教程进阶
掌握 OpenClaw 的代码执行工具,了解 exec、code_execution 和 process 三大工具的区别与用法,学会配置执行审批机制保障安全。
← 自动化与定时任务教程远程代码执行教程 →