作者注:完整的 OpenClaw 瀏覽器控制教程,詳解 CDP 協議集成、元素快照、表單填寫、截圖導航等核心功能,幫助開發者快速實現網頁自動化任務
想讓 AI 助手自動幫你填寫表單、抓取網頁數據、生成截圖?OpenClaw Browser 能力正是爲此而生。它通過 Chrome DevTools Protocol (CDP) 提供完整的瀏覽器控制能力,讓你的 AI Agent 真正能夠操作網頁,而不只是"聊"網頁。
核心價值: 讀完本文,你將學會使用 OpenClaw 的 5 個核心瀏覽器功能,實現從頁面導航到表單自動化的完整工作流。

OpenClaw Browser 核心要點
| 要點 | 說明 | 價值 |
|---|---|---|
| CDP 協議控制 | 通過 Chrome DevTools Protocol 直接控制瀏覽器 | 繞過 GUI 限制,機器速度執行操作 |
| 智能元素引用 | Snapshot 系統自動識別可交互元素並編號 | 無需手寫選擇器,AI 直接引用元素 |
| 隔離瀏覽器環境 | 獨立的 OpenClaw 瀏覽器配置文件 | 與個人瀏覽數據完全分離,安全可控 |
| 多種快照模式 | AI Snapshot 和 Role Snapshot 兩種模式 | 適配不同場景的元素識別需求 |
| 完整動作支持 | 點擊、輸入、拖拽、截圖、PDF 導出 | 覆蓋所有常見網頁自動化操作 |
OpenClaw Browser 工作原理
OpenClaw 的瀏覽器控制能力基於一個核心理念:直接代碼執行,而非視覺推斷。傳統的 AI 網頁操作需要截圖、識別界面元素,容易出錯且速度慢。OpenClaw 則通過 CDP 協議直接與瀏覽器引擎通信,實現毫秒級響應。
系統架構分爲三層:
- 瀏覽器層: 獨立的 Chromium 實例,與個人瀏覽器完全隔離
- 控制層: Gateway HTTP API 提供統一的控制接口
- 代理層: AI 模型通過 OpenClaw CLI 調用瀏覽器操作
這種架構的優勢是安全和可控。你的個人瀏覽數據不會被 AI 訪問,所有自動化操作都在隔離環境中進行。
🎯 實踐建議: OpenClaw Browser 需要調用 AI 大模型來理解網頁內容和決策操作。通過 API易 apiyi.com 可以獲取 Claude、GPT 等模型的 API,統一接口調用,讓你的瀏覽器自動化更加智能。
OpenClaw Browser 5 大核心功能詳解

功能一:瀏覽器配置管理
OpenClaw 支持三種瀏覽器配置模式,滿足不同使用場景:
| 配置模式 | 說明 | 使用場景 |
|---|---|---|
| openclaw | 獨立 Chromium 實例,專屬用戶數據目錄 | 推薦的默認模式,最安全 |
| chrome | 通過擴展控制現有 Chrome 標籤頁 | 需要利用已登錄狀態時 |
| remote | 連接遠程 CDP 端點,如 Browserless | 雲端部署或無頭服務 |
創建自定義配置文件:
openclaw browser create-profile --name myprofile --color "#FF6B35"
配置存儲在 ~/.openclaw/openclaw.json 文件中,支持以下選項:
{
"browser": {
"headless": false,
"noSandbox": false,
"executablePath": "/path/to/chrome"
},
"profiles": {
"myprofile": {
"cdpUrl": "http://localhost:9222",
"color": "#FF6B35"
}
}
}
功能二:頁面導航與標籤管理
導航控制是瀏覽器自動化的基礎。OpenClaw 提供完整的標籤頁管理能力:
打開網頁:
# 在 OpenClaw 配置文件中打開 URL
openclaw browser --browser-profile openclaw open https://example.com
# 列出所有打開的標籤頁
openclaw browser tabs
# 聚焦到指定標籤頁
openclaw browser focus <tab-id>
# 關閉標籤頁
openclaw browser close <tab-id>
智能等待機制:
頁面加載完成的判斷是自動化的難點。OpenClaw 支持多種等待條件:
openclaw browser wait "#main" \
--url "**/dashboard" \
--load networkidle \
--fn "window.ready===true" \
--timeout-ms 15000
| 等待類型 | 參數 | 說明 |
|---|---|---|
| URL 匹配 | --url |
等待 URL 變化到指定模式 |
| 加載狀態 | --load |
支持 load、domcontentloaded、networkidle |
| 選擇器 | 默認參數 | 等待元素出現在 DOM 中 |
| JS 條件 | --fn |
自定義 JavaScript 表達式 |
功能三:元素快照與引用系統
這是 OpenClaw Browser 最強大的功能之一。快照系統自動掃描頁面,爲所有可交互元素分配引用編號,AI 可以直接使用這些編號操作元素,無需編寫 CSS 選擇器。
兩種快照模式:
| 模式 | 引用格式 | 特點 | 依賴 |
|---|---|---|---|
| AI Snapshot | 數字 (12, 23) | 默認格式,適合 AI 處理 | Playwright |
| Role Snapshot | 元素引用 (e12, e23) | 基於 Accessibility Tree | Playwright |
獲取快照:
# AI 快照(數字引用)
openclaw browser snapshot
# Role 快照(帶交互標記)
openclaw browser snapshot --interactive
# 帶可視化標籤的截圖
openclaw browser snapshot --labels
快照輸出示例:
[1] 搜索框 <input type="text" placeholder="搜索...">
[2] 登錄按鈕 <button>登錄</button>
[3] 註冊鏈接 <a href="/register">免費註冊</a>
[4] 導航菜單 <nav>產品 | 價格 | 文檔</nav>
重要提示: 元素引用在頁面導航後會失效。如果操作失敗,需要重新獲取快照並使用新的引用編號。
功能四:元素交互操作
基於快照的引用系統,OpenClaw 支持豐富的元素交互操作:
點擊操作:
# 點擊編號爲 12 的元素
openclaw browser click 12
# 使用 Role 引用
openclaw browser click e12
# 高亮顯示元素(調試用)
openclaw browser highlight e12
輸入文本:
# 在編號 23 的輸入框中輸入文本
openclaw browser type 23 "Hello OpenClaw"
# 清空後輸入
openclaw browser type 23 "新內容" --clear
表單填寫:
# 批量填寫多個字段
openclaw browser fill \
--field "username:myuser" \
--field "password:mypass" \
--field "email:[email protected]"
其他交互:
| 操作 | 命令 | 說明 |
|---|---|---|
| 拖拽 | drag 12 23 |
從元素 12 拖拽到元素 23 |
| 選擇 | select 12 "option1" |
在下拉框選擇選項 |
| 滾動 | scroll --y 500 |
垂直滾動 500 像素 |
| 懸停 | hover 12 |
鼠標懸停在元素上 |
💡 使用技巧: 表單自動化是 OpenClaw Browser 的核心應用場景。結合 AI 模型的理解能力,可以智能識別表單結構並自動填寫。通過 API易 apiyi.com 獲取 Claude API,可以讓你的表單自動化更加智能。
OpenClaw Browser 快速上手
極簡示例
以下是最簡單的瀏覽器自動化流程:
# 1. 啓動瀏覽器
openclaw browser --browser-profile openclaw start
# 2. 打開網頁
openclaw browser open https://example.com
# 3. 獲取頁面快照
openclaw browser snapshot
# 4. 點擊元素(假設搜索框是 [1])
openclaw browser click 1
# 5. 輸入搜索內容
openclaw browser type 1 "OpenClaw tutorial"
# 6. 截圖保存
openclaw browser screenshot --output result.png
查看完整自動化腳本示例
#!/bin/bash
# OpenClaw Browser 自動化示例腳本
# 用途:自動登錄並抓取數據
PROFILE="openclaw"
TARGET_URL="https://example.com/login"
OUTPUT_DIR="./screenshots"
# 確保輸出目錄存在
mkdir -p $OUTPUT_DIR
# 啓動瀏覽器
echo "啓動 OpenClaw Browser..."
openclaw browser --browser-profile $PROFILE start
# 等待瀏覽器就緒
sleep 2
# 導航到登錄頁
echo "導航到登錄頁面..."
openclaw browser open $TARGET_URL
# 等待頁面加載
openclaw browser wait "#login-form" --timeout-ms 10000
# 獲取頁面快照
echo "分析頁面結構..."
SNAPSHOT=$(openclaw browser snapshot --json)
# 填寫登錄表單
echo "填寫登錄信息..."
openclaw browser type 1 "[email protected]" # 用戶名字段
openclaw browser type 2 "password123" # 密碼字段
# 點擊登錄按鈕
openclaw browser click 3
# 等待登錄完成
openclaw browser wait --url "**/dashboard" --timeout-ms 15000
# 截圖保存結果
echo "保存截圖..."
openclaw browser screenshot --output "$OUTPUT_DIR/dashboard.png"
# 獲取登錄後的 Cookie
openclaw browser cookies --json > "$OUTPUT_DIR/cookies.json"
echo "自動化完成!"
Python 集成示例
如果你更喜歡用 Python 控制 OpenClaw Browser:
import subprocess
import json
def openclaw_browser(command: str) -> str:
"""執行 OpenClaw Browser 命令並返回結果"""
result = subprocess.run(
f"openclaw browser {command}",
shell=True,
capture_output=True,
text=True
)
return result.stdout
# 打開頁面
openclaw_browser("open https://example.com")
# 獲取快照
snapshot = openclaw_browser("snapshot --json")
elements = json.loads(snapshot)
# 點擊第一個按鈕
openclaw_browser("click 1")
# 截圖
openclaw_browser("screenshot --output page.png")
建議: 通過 API易 apiyi.com 獲取 AI 模型 API,可以讓 Python 腳本結合 AI 理解能力,實現更智能的網頁自動化。
OpenClaw Browser 三種配置模式對比
<!– 標題 –>
<!– OpenClaw 模式 –>
<!– Chrome 模式 –>
<!– Remote 模式 –>
<!– 底部說明 –>
<!– API易推廣 –>
| 維度 | OpenClaw 模式 | Chrome 擴展模式 | 遠程 CDP 模式 |
|---|---|---|---|
| 隔離性 | 完全隔離,獨立用戶數據 | 共享瀏覽器狀態 | 取決於遠程配置 |
| 登錄狀態 | 需重新登錄 | 可利用現有登錄 | 需單獨處理 |
| 安裝複雜度 | 開箱即用 | 需安裝擴展 | 需配置遠程服務 |
| 適用場景 | 自動化任務、數據抓取 | 調試、利用現有會話 | 雲端部署、無頭瀏覽 |
| 安全風險 | 最低 | 中等 | 取決於網絡環境 |
模式選擇建議
選擇 OpenClaw 模式:
- 執行自動化任務(表單填寫、數據抓取)
- 測試網站功能
- 需要完全隔離的安全環境
選擇 Chrome 擴展模式:
- 需要利用已登錄的賬號狀態
- 調試複雜的多步驟流程
- 臨時的一次性操作
選擇遠程 CDP 模式:
- 雲服務器部署
- 使用 Browserless 等託管服務
- 需要並行運行多個瀏覽器實例
配置遠程 CDP 示例:
{
"profiles": {
"remote": {
"cdpUrl": "wss://chrome.browserless.io?token=YOUR_TOKEN",
"color": "#00AA00"
}
}
}
🎯 部署建議: 生產環境推薦使用遠程 CDP 模式配合 Browserless 服務。AI 模型調用可通過 API易 apiyi.com 統一管理,確保自動化流程穩定可靠。
OpenClaw Browser 高級功能
截圖與視覺捕獲
OpenClaw Browser 提供多種截圖能力:
# 全頁截圖
openclaw browser screenshot --output full.png
# 指定元素截圖
openclaw browser screenshot --selector "#main-content" --output element.png
# 帶元素標籤的截圖(用於 AI 分析)
openclaw browser snapshot --labels --output labeled.png
# 導出 PDF
openclaw browser pdf --output page.pdf
狀態管理
管理瀏覽器狀態對於複雜自動化流程至關重要:
| 功能 | 命令 | 用途 |
|---|---|---|
| Cookie 管理 | cookies --json |
導出/導入登錄狀態 |
| LocalStorage | storage local --get key |
讀寫本地存儲 |
| SessionStorage | storage session --set key value |
管理會話數據 |
| 控制檯日誌 | console --json |
獲取頁面日誌 |
網絡控制
# 設置請求頭
openclaw browser headers --set "Authorization: Bearer token123"
# 模擬離線狀態
openclaw browser offline --enable
# 設置地理位置
openclaw browser geolocation --lat 39.9042 --lng 116.4074
# 設置時區
openclaw browser timezone "Asia/Shanghai"
設備模擬
# 模擬 iPhone 設備
openclaw browser device --name "iPhone 14 Pro"
# 自定義視口
openclaw browser viewport --width 1920 --height 1080
常見問題
Q1: OpenClaw Browser 和 Playwright/Puppeteer 有什麼區別?
核心區別在於 AI 集成能力。Playwright/Puppeteer 是傳統的瀏覽器自動化庫,需要開發者編寫精確的選擇器和邏輯。OpenClaw Browser 則通過 Snapshot 系統讓 AI 模型能夠"理解"頁面結構,自動決策操作步驟。
技術上,OpenClaw Browser 底層實際使用 Playwright 作爲 CDP 控制引擎,但上層抽象讓 AI Agent 使用更加方便。
Q2: 元素引用失效怎麼辦?
元素引用 (如 [12] 或 e12) 在以下情況會失效:
- 頁面導航到新 URL
- 頁面內容動態更新
- 頁面刷新
解決方法:操作失敗時重新執行 openclaw browser snapshot 獲取新的引用編號。建議在關鍵操作前都先獲取最新快照。
Q3: 如何處理需要登錄的網站?
三種方案:
- 自動登錄: 使用表單填寫功能自動輸入用戶名密碼
- 複用 Cookie: 先手動登錄後導出 Cookie,自動化時導入
- Chrome 擴展模式: 使用已登錄的 Chrome 瀏覽器
對於涉及敏感操作的網站,建議通過 API易 apiyi.com 獲取 AI 模型來智能處理驗證碼等安全措施。
Q4: Playwright 未安裝導致功能受限怎麼辦?
部分高級功能(元素交互、PDF 導出、AI 快照)依賴 Playwright。安裝方法:
# 安裝 Playwright
npm install -g playwright
# 安裝瀏覽器驅動
npx playwright install chromium
未安裝 Playwright 時,基礎的 ARIA 快照和截圖功能仍可使用。
OpenClaw Browser 實戰案例
案例一:自動登錄並獲取數據
這是最常見的瀏覽器自動化場景,完整流程如下:
# 第一步:啓動瀏覽器並導航到登錄頁
openclaw browser --browser-profile openclaw start
openclaw browser open https://dashboard.example.com/login
# 第二步:等待頁面加載完成
openclaw browser wait "#login-form" --timeout-ms 10000
# 第三步:獲取快照,瞭解頁面結構
openclaw browser snapshot
# 輸出示例:
# [1] 用戶名輸入框 <input name="username">
# [2] 密碼輸入框 <input name="password" type="password">
# [3] 登錄按鈕 <button type="submit">登錄</button>
# 第四步:填寫登錄信息
openclaw browser type 1 "myusername"
openclaw browser type 2 "mypassword"
openclaw browser click 3
# 第五步:等待跳轉到儀表盤
openclaw browser wait --url "**/dashboard" --load networkidle
# 第六步:獲取數據或截圖
openclaw browser screenshot --output dashboard.png
案例二:批量表單提交
當需要重複填寫相似表單時,可以用腳本實現批量操作:
#!/bin/bash
# 批量提交表單腳本
# 數據文件(每行一條記錄:姓名,郵箱,電話)
DATA_FILE="contacts.csv"
# 啓動瀏覽器
openclaw browser --browser-profile openclaw start
while IFS=',' read -r name email phone; do
# 打開表單頁面
openclaw browser open https://form.example.com/submit
openclaw browser wait "#contact-form"
# 獲取快照並填寫
openclaw browser snapshot
openclaw browser type 1 "$name"
openclaw browser type 2 "$email"
openclaw browser type 3 "$phone"
# 提交表單
openclaw browser click 4
# 等待提交完成
openclaw browser wait ".success-message" --timeout-ms 5000
echo "已提交: $name"
done < "$DATA_FILE"
echo "批量提交完成!"
案例三:網頁內容監控
定期檢查網頁變化,發現更新時發送通知。核心思路是:獲取頁面快照 -> 計算內容哈希 -> 對比變化 -> 發送通知。
import subprocess
import hashlib
import time
def monitor_page(url: str, interval: int = 300):
"""監控頁面變化"""
subprocess.run("openclaw browser --browser-profile openclaw start", shell=True)
last_hash = None
while True:
subprocess.run(f"openclaw browser open {url}", shell=True)
time.sleep(2)
result = subprocess.run(
"openclaw browser snapshot --json",
shell=True, capture_output=True, text=True
)
current_hash = hashlib.md5(result.stdout.encode()).hexdigest()
if last_hash and current_hash != last_hash:
print(f"頁面變化!{time.strftime('%Y-%m-%d %H:%M:%S')}")
subprocess.run("openclaw browser screenshot --output change.png", shell=True)
last_hash = current_hash
time.sleep(interval)
monitor_page("https://news.example.com", interval=300)
💡 進階技巧: 結合 AI 模型可以實現智能內容變化分析。通過 API易 apiyi.com 調用 Claude API,可以讓 AI 判斷哪些變化是重要的,值得通知用戶。
OpenClaw Browser 應用場景
| 場景 | 實現方式 | 適合用戶 | 示例任務 |
|---|---|---|---|
| 自動化測試 | 編寫腳本執行 UI 測試 | QA 工程師、開發者 | 迴歸測試、端到端測試 |
| 數據抓取 | 導航+快照+提取 | 數據分析師 | 價格監控、競品分析 |
| 表單自動化 | 批量填寫重複表單 | 運營人員 | 註冊賬號、提交申請 |
| 網頁監控 | 定期截圖對比 | DevOps | 頁面可用性、內容變更 |
| 內容歸檔 | PDF 導出、截圖保存 | 研究人員 | 網頁存檔、證據保全 |
| 社交媒體 | 自動發佈和互動 | 營銷人員 | 定時發帖、數據採集 |
性能優化與調試技巧
提升執行速度:
- 使用精確的等待條件而非固定延時
- 複用瀏覽器會話,避免頻繁啓停
- 生產環境使用
headless: true減少資源消耗
常見問題調試:
- 元素找不到: 使用
snapshot --labels生成帶標籤的截圖 - 操作超時: 增加
--timeout-ms參數值 - 登錄失效: 用
cookies --json檢查 Cookie 狀態
工具選擇: 根據任務複雜度選擇合適的 AI 模型。簡單任務用 GPT-4o-mini 成本最低,複雜分析任務用 Claude Sonnet 4 效果最好。通過 API易 apiyi.com 可以方便地切換和對比不同模型。
總結
OpenClaw Browser 自動化的核心要點:
- CDP 協議控制: 通過 Chrome DevTools Protocol 實現機器速度的瀏覽器操作
- 智能快照系統: AI Snapshot 和 Role Snapshot 讓元素引用變得簡單直觀
- 三種配置模式: OpenClaw、Chrome 擴展、遠程 CDP,滿足不同場景需求
- 完整操作覆蓋: 點擊、輸入、拖拽、截圖、PDF 導出一應俱全
- 安全隔離設計: 獨立瀏覽器環境保護個人數據安全
OpenClaw Browser 讓 AI Agent 真正具備了"操作網頁"的能力,從被動的聊天助手升級爲主動的自動化執行者。
推薦通過 API易 apiyi.com 獲取 Claude/GPT API 來驅動 OpenClaw,平臺提供免費測試額度和多模型統一接口,讓你的瀏覽器自動化更加智能高效。
參考資料
-
OpenClaw Browser 官方文檔: 瀏覽器控制能力完整說明
- 鏈接:
docs.openclaw.ai/tools/browser - 說明: 最權威的 Browser 功能文檔和 API 參考
- 鏈接:
-
OpenClaw CLI Browser 命令: 命令行工具詳細用法
- 鏈接:
docs.openclaw.ai/cli/browser - 說明: 所有 Browser 子命令的參數和示例
- 鏈接:
-
OpenClaw GitHub 倉庫: 源代碼和 Issue 討論
- 鏈接:
github.com/openclaw/openclaw - 說明: 68K+ Stars 的開源項目,瀏覽器相關問題可在此反饋
- 鏈接:
-
Chrome DevTools Protocol 文檔: CDP 協議技術規範
- 鏈接:
chromedevtools.github.io/devtools-protocol - 說明: 深入理解底層協議的參考資料
- 鏈接:
-
Browserless 託管服務: 雲端無頭瀏覽器服務
- 鏈接:
browserless.io - 說明: 遠程 CDP 模式的推薦託管服務商
- 鏈接:
作者: 技術團隊
技術交流: 歡迎在評論區討論 OpenClaw Browser 使用技巧,更多 AI 模型 API 資料可訪問 API易 apiyi.com 技術社區
