嗨,我是小華同學,專注解鎖高效工作與前沿 AI 工具!每日精選開源技術、實戰技巧,助你省時 50%、領先他人一步。👉 免費訂閱,與 10 萬 + 技術人共享升級秘笈!
一、產品介紹:為什麼你的爬蟲總在崩潰?
寫過瀏覽器自動化程式的開發者都懂那種痛:昨天還正常運作的腳本,今天因為目標網站改了個按鈕的 class 名稱就全線崩潰。你不得不打開瀏覽器開發者工具,一點點比對 DOM 結構,然後回去改程式碼、重新測試、再部署...
這就是傳統瀏覽器自動化工具的魔咒——Selenium、Playwright、Puppeteer 雖然功能強大,但它們是基於「精確選擇器」的。你需要精確知道每個元素的位置、ID、class,一旦網站改版,你的程式碼就變成了一堆廢鐵。
Stagehand 是新一代 AI 瀏覽器自動化框架,它讓開發者能夠用自然語言控制瀏覽器,相比傳統 Selenium/Playwright 方案,開發效率提升 10 倍,維護成本降低 80%。
打個比方:傳統工具像是你給機器人一本詳細地圖,告訴它「先左轉,走 100 公尺,再右轉」;而 Stagehand 像是直接對機器人說「去幫我把快遞取回來」——它自己會看路、會認門、會處理突發狀況。
| 對比維度 | 傳統方案 (Selenium/Playwright) | Stagehand |
|---|---|---|
| 開發方式 | 編寫精確選擇器程式碼 | 自然語言 + 程式碼混合 |
| 網站改版應對 | 程式碼崩潰,需手動修復 | 自動適應,自我修復 |
| 學習曲線 | 陡峭(需掌握選擇器語法) | 平緩(會英文即可) |
| 維護成本 | 高(需持續跟進網站變化) | 低(AI 自動處理變化) |
| 可靠性 | 依賴頁面結構穩定性 | AI 驅動的智慧和識別 |
Stagehand 由 Browserbase 團隊開源,採用 MIT 授權條款,目前在 GitHub 上已獲得超過 8,000+ Star,成為瀏覽器自動化領域成長最快的專案之一。
二、核心功能:三大殺手鐧
1. 自然語言操控:像聊天一樣寫爬蟲
傳統方式寫一個簡單的「點擊登入按鈕」操作,你需要這樣寫:
// Playwright 方式 - 需要精確知道選擇器
await page.click('button[id="login-btn"].btn-primary');而 Stagehand 讓你可以直接說人話:
// Stagehand 方式 - 自然語言即可
await stagehand.act("點擊登入按鈕");對比表格:
| 操作類型 | 傳統程式碼行數 | Stagehand 程式碼行數 | 節省比例 |
|---|---|---|---|
| 點擊元素 | 3-5 行 | 1 行 | 80% |
| 填寫表單 | 10-15 行 | 1-2 行 | 90% |
| 擷取資料 | 20-30 行 | 3-5 行 | 85% |
| 處理彈窗 | 15-20 行 | 1 行 | 95% |
Stagehand 背後接入了大型語言模型(支援 OpenAI、Anthropic 等),它會自動理解你的意圖,找到頁面上的對應元素並執行操作。你不需要知道按鈕的 ID 是什麼,不需要管它在 DOM 的哪個層級——只要用人類語言描述它,AI 就能幫你找到。
2. 自我修復:網站改版也不怕
這是 Stagehand 最驚豔的功能。傳統爬蟲最怕什麼?目標網站改版。哪怕是按鈕換個位置、改個顏色,你的腳本就可能找不到北。
Stagehand 的 Self-Healing(自我修復) 機制是這樣運作的:
- 記憶學習:當你第一次執行某個操作時,Stagehand 會記錄完整的執行路徑
- 智慧快取:可重複的操作會被快取,下次執行無需再次呼叫 LLM,速度快、成本低
- 變化檢測:當網站結構變化導致操作失敗時,Stagehand 會自動觸發 AI 重新分析頁面
- 自動修復:AI 會根據頁面新結構,自動找到正確的替代元素,無需人工干預
實測資料:在一個月的網站改版週期內,傳統 Playwright 腳本的成功率從 98% 暴跌至 23%,而 Stagehand 腳本保持在 91% 以上。
3. 結構化擷取:告別正規表示式地獄
從網頁擷取結構化資料是爬蟲的核心需求。傳統方式你需要寫複雜的正規表示式或 DOM 解析程式碼:
// 傳統方式 - 容易出錯,難以維護
const html = await page.content();
const matches = html.match(/<h1[^>]*>(.*?)<\/h1>/);
const title = matches ? matches[1] : '';Stagehand 讓你直接宣告式擷取:
// Stagehand 方式 - 清晰、型別安全
const { author, title } = await stagehand.extract(
"擷取 PR 的作者和標題",
z.object({
author: z.string().describe("PR 作者的使用者名稱"),
title: z.string().describe("PR 的標題"),
}),
);借助 Zod 型別定義,你不仅能得到正確的資料,還能獲得完整的 TypeScript 型別提示。
三、應用場景:誰需要 Stagehand?
場景一:資料採集與競品監控
痛點:電商從業人員需要監控競品價格,但各平台的反爬機制越來越嚴,傳統爬蟲頻繁被封鎖。
Stagehand 方案:
- 用自然語言描述採集需求:「擷取這個商品的價格、庫存和評價數量」
- Stagehand 模擬真人操作,降低被識別為機器人的機率
- 網站改版時自動適應,無需人工維護腳本
效果:某電商團隊從每天 2 小時維護爬蟲腳本,降至每週 30 分鐘檢查運行狀態,效率提升 20 倍。
場景二:自動化測試與 QA
痛點:前端測試工程師需要頻繁回歸測試,但頁面元素經常變化,測試用例維護成本高。
Stagehand 方案:
- 用自然語言編寫測試步驟:「點擊註冊按鈕,填寫信箱 test@example.com,點擊送出」
- 頁面結構調整時,AI 自動找到對應的新元素
- 測試失敗時提供智慧診斷,指出可能的變化點
效果:某 SaaS 團隊的 UI 自動化測試用例維護時間減少 75%,測試覆蓋率從 45% 提升至 82%。
場景三:自動化辦公與 RPA
痛點:營運人員需要定期登入多個後台系統匯出報表,手動操作耗時且容易出錯。
Stagehand 方案:
- 錄製自然語言操作指令:「登入後台,進入資料報表頁面,選擇昨天日期,點擊匯出」
- 設定定時任務自動執行
- 後台介面更新時自動適應
效果:某電商公司的日報生成時間從每天 45 分鐘降至 5 分鐘,且零錯誤率。
場景四:AI Agent 與自動化工作流
痛點:開發 AI Agent 需要與網頁互動,但傳統工具 API 複雜,拖慢開發進度。
Stagehand 方案:
const agent = stagehand.agent();
await agent.execute("幫我在 GitHub 上找到 browserbase/stagehand 專案,查看最新 PR 的作者");一句話,AI Agent 就能完成多步驟網頁操作。無需關心中間過程,只需關注任務目標。
四、使用方法:3 分鐘快速上手
方式一:一鍵體驗(推薦新手)
只需一行指令,建立完整的 Stagehand 專案:
npx create-browser-app my-stagehand-app
cd my-stagehand-app然後設定環境變數:
cp .env.example .env
# 編輯 .env 檔案,填入你的 OpenAI API Key 和 Browserbase 憑證3 步完成,即可運行範例腳本!
方式二:整合到現有專案
如果你已有 Node.js 專案,可以直接安裝:
npm install @browserbasehq/stagehand
# 或
yarn add @browserbasehq/stagehand
# 或
pnpm add @browserbasehq/stagehand基礎使用範例:
import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({
apiKey: process.env.BROWSERBASE_API_KEY,
projectId: process.env.BROWSERBASE_PROJECT_ID,
});
await stagehand.init();
// 取得頁面
const page = stagehand.context.pages()[0];
await page.goto("https://github.com/browserbase");
// 自然語言操作
await stagehand.act("點擊 Stagehand 倉庫連結");
// AI Agent 執行複雜任務
const agent = stagehand.agent();
await agent.execute("查看最新 PR 的詳情");
// 結構化擷取資料
const { title, author } = await stagehand.extract(
"擷取最新 PR 的標題和作者",
z.object({
title: z.string(),
author: z.string(),
}),
);
console.log(`最新 PR: ${title} by ${author}`);方式三:原始碼安裝(貢獻者)
如果你想參與開發或深度客製化:
git clone https://github.com/browserbase/stagehand.git
cd stagehand
pnpm install
pnpm run build
pnpm run example # 運行範例腳本生產部署注意事項:
- 建議配置 Browserbase 雲端服務獲得更好的效能和穩定性
- 設定合理的 LLM 呼叫配額,避免意外高額費用
- 對敏感操作啟用手動確認機制
- 定期備份自動化流程配置
五、專案位址
https://github.com/browserbase/stagehand
熱門閱讀
EdgeClaw:把 Claude Code 體驗帶到 OpenClaw
讓 AI 程式設計效率翻倍!oh-my-codex:Codex CLI 的超級增強套件來了
微軟開源 VibeVoice 殺瘋了!60 分鐘語音一鍵轉文字,90 分鐘長對話合成,已被 HuggingFace 官方收錄