|

掌握 OpenClaw Browser 能力:5 個核心功能實現網頁自動化

作者注:完整的 OpenClaw 瀏覽器控制教程,詳解 CDP 協議集成、元素快照、表單填寫、截圖導航等核心功能,幫助開發者快速實現網頁自動化任務

想讓 AI 助手自動幫你填寫表單、抓取網頁數據、生成截圖?OpenClaw Browser 能力正是爲此而生。它通過 Chrome DevTools Protocol (CDP) 提供完整的瀏覽器控制能力,讓你的 AI Agent 真正能夠操作網頁,而不只是"聊"網頁。

核心價值: 讀完本文,你將學會使用 OpenClaw 的 5 個核心瀏覽器功能,實現從頁面導航到表單自動化的完整工作流。

openclaw-browser-automation-guide-zh-hant 图示


OpenClaw Browser 核心要點

要點 說明 價值
CDP 協議控制 通過 Chrome DevTools Protocol 直接控制瀏覽器 繞過 GUI 限制,機器速度執行操作
智能元素引用 Snapshot 系統自動識別可交互元素並編號 無需手寫選擇器,AI 直接引用元素
隔離瀏覽器環境 獨立的 OpenClaw 瀏覽器配置文件 與個人瀏覽數據完全分離,安全可控
多種快照模式 AI Snapshot 和 Role Snapshot 兩種模式 適配不同場景的元素識別需求
完整動作支持 點擊、輸入、拖拽、截圖、PDF 導出 覆蓋所有常見網頁自動化操作

OpenClaw Browser 工作原理

OpenClaw 的瀏覽器控制能力基於一個核心理念:直接代碼執行,而非視覺推斷。傳統的 AI 網頁操作需要截圖、識別界面元素,容易出錯且速度慢。OpenClaw 則通過 CDP 協議直接與瀏覽器引擎通信,實現毫秒級響應。

系統架構分爲三層:

  1. 瀏覽器層: 獨立的 Chromium 實例,與個人瀏覽器完全隔離
  2. 控制層: Gateway HTTP API 提供統一的控制接口
  3. 代理層: AI 模型通過 OpenClaw CLI 調用瀏覽器操作

這種架構的優勢是安全和可控。你的個人瀏覽數據不會被 AI 訪問,所有自動化操作都在隔離環境中進行。

🎯 實踐建議: OpenClaw Browser 需要調用 AI 大模型來理解網頁內容和決策操作。通過 API易 apiyi.com 可以獲取 Claude、GPT 等模型的 API,統一接口調用,讓你的瀏覽器自動化更加智能。


OpenClaw Browser 5 大核心功能詳解

openclaw-browser-automation-guide-zh-hant 图示

功能一:瀏覽器配置管理

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 模式 –> 🦞 openclaw 模式

環境隔離 ✓ 完全隔離

配置難度 ⭐ 最簡單

登錄狀態 需重新登錄

適用場景 自動化測試

⭐ 推薦默認選擇

<!– Chrome 模式 –> 🌐 chrome 模式

環境隔離 共享標籤頁

配置難度 ⭐⭐ 需擴展

登錄狀態 ✓ 保留登錄

適用場景 需已登錄賬號

利用現有會話

<!– Remote 模式 –> ☁️ remote 模式

環境隔離 ✓ 雲端隔離

配置難度 ⭐⭐⭐ 需服務

登錄狀態 每次重新

適用場景 雲端部署

Browserless 等

<!– 底部說明 –> 選擇建議:新手用 openclaw,需登錄態用 chrome,服務器部署用 remote

<!– API易推廣 –> 推薦 API易:穩定可靠的 AI大模型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: 如何處理需要登錄的網站?

三種方案:

  1. 自動登錄: 使用表單填寫功能自動輸入用戶名密碼
  2. 複用 Cookie: 先手動登錄後導出 Cookie,自動化時導入
  3. 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 自動化的核心要點:

  1. CDP 協議控制: 通過 Chrome DevTools Protocol 實現機器速度的瀏覽器操作
  2. 智能快照系統: AI Snapshot 和 Role Snapshot 讓元素引用變得簡單直觀
  3. 三種配置模式: OpenClaw、Chrome 擴展、遠程 CDP,滿足不同場景需求
  4. 完整操作覆蓋: 點擊、輸入、拖拽、截圖、PDF 導出一應俱全
  5. 安全隔離設計: 獨立瀏覽器環境保護個人數據安全

OpenClaw Browser 讓 AI Agent 真正具備了"操作網頁"的能力,從被動的聊天助手升級爲主動的自動化執行者。

推薦通過 API易 apiyi.com 獲取 Claude/GPT API 來驅動 OpenClaw,平臺提供免費測試額度和多模型統一接口,讓你的瀏覽器自動化更加智能高效。


參考資料

  1. OpenClaw Browser 官方文檔: 瀏覽器控制能力完整說明

    • 鏈接: docs.openclaw.ai/tools/browser
    • 說明: 最權威的 Browser 功能文檔和 API 參考
  2. OpenClaw CLI Browser 命令: 命令行工具詳細用法

    • 鏈接: docs.openclaw.ai/cli/browser
    • 說明: 所有 Browser 子命令的參數和示例
  3. OpenClaw GitHub 倉庫: 源代碼和 Issue 討論

    • 鏈接: github.com/openclaw/openclaw
    • 說明: 68K+ Stars 的開源項目,瀏覽器相關問題可在此反饋
  4. Chrome DevTools Protocol 文檔: CDP 協議技術規範

    • 鏈接: chromedevtools.github.io/devtools-protocol
    • 說明: 深入理解底層協議的參考資料
  5. Browserless 託管服務: 雲端無頭瀏覽器服務

    • 鏈接: browserless.io
    • 說明: 遠程 CDP 模式的推薦託管服務商

作者: 技術團隊
技術交流: 歡迎在評論區討論 OpenClaw Browser 使用技巧,更多 AI 模型 API 資料可訪問 API易 apiyi.com 技術社區

Similar Posts