頁自動化)
Stagehand 入門指南用瀏覽器代理 SDK 跑通自然語言網(wǎng)頁自動化【免費下載鏈接】stagehandThe SDK For Browser Agents項目地址: https://gitcode.com/GitHub_Trending/stag/stagehandStagehand 是 Browserbase 出品的瀏覽器代理 SDK面向瀏覽器自動化場景提供act、observe、extract三個自然語言原語同時支持 TypeScript、Python 和 Go。你可以用它驅(qū)動瀏覽器完成點擊、觀測和結(jié)構(gòu)化數(shù)據(jù)提取無需手寫復(fù)雜選擇器。什么時候你會需要它你寫過一個基于選擇器的爬蟲或 E2E 腳本上線后頁面一改版點擊、提取邏輯就集體失效要么你給大模型喂整個頁面快照token 成本高得嚇人模型還會被無關(guān)元素帶偏。再加上目標(biāo)站點用跨進(jìn)程 iframe、封閉 Shadow DOM 包裹組件傳統(tǒng)工具連元素都找不到。這類選擇器一斷就崩、上下文又太啰嗦的場景就是瀏覽器代理要解決的問題。為什么是 Stagehand 而不是現(xiàn)成工具API 遷移成本低goto、click、locator、screenshot都是 Playwright 風(fēng)格官方定位就是Playwright 為測試而生Stagehand 為代理而生。自愈能力頁面改版后act、observe檢測到選擇器失效會自動重新推斷并刷新操作方式。省 token內(nèi)置混合無障礙樹裁剪只把模型理解頁面所需的最小上下文喂給它。延遲更低運行時以瀏覽器擴(kuò)展形式跑在瀏覽器旁邊減少每次操作的往返開銷。兼容復(fù)雜 DOM原生支持跨進(jìn)程 iframe 與封閉 Shadow DOM配合深定位器deep locators直達(dá)嵌套元素。環(huán)境要求與安裝步驟前置清單Node.js ≥ 22.18推薦運行時Bun 也可用Python ≥ 3.11 或 Go ≥ 1.26用對應(yīng) SDK 時才需要一個BROWSERBASE_API_KEY。想在本地起瀏覽器調(diào)試的話機(jī)器上還需裝好 Chrome走云瀏覽器則可跳過。mkdir my-stagehand-app cd my-stagehand-app pnpm init -y pnpm install browserbasehq/stagehand zod export BROWSERBASE_API_KEYbb_live_...Python 側(cè)則是pip install stagehandGo 側(cè)是go get github.com/browserbase/stagehand/packages/sdk-go/v4v4.0.0。注意沒配置模型時Browserbase 的 Model Gateway 會自動為每次推理選模型你不必額外準(zhǔn)備模型廠商的 key。最小可運行示例把下面代碼存為index.tsimport { browserbase, Stagehand } from browserbasehq/stagehand; import { z } from zod/v4; const browser await browserbase.launch({ apiKey: process.env.BROWSERBASE_API_KEY, }); const stagehand await Stagehand.create({ browser }); try { const [page] await browser.context.pages(); await page.goto(https://stagehand.dev); const result await stagehand.extract( Extract the value proposition from the page., z.object({ valueProposition: z.string() }), ); console.log(result.data); await stagehand.act(Click the Evals button.); } finally { await stagehand.close(); await browser.close(); }運行pnpm dlx tsx index.ts你會看到云端瀏覽器自動打開目標(biāo)頁、控制臺打印出提取到的文案對象、隨后頁面上Evals按鈕被點擊。三個原語與關(guān)鍵概念拆解act()執(zhí)行單個動作接受自然語言指令傳入observe()返回的Action則可確定性地直接重放不再走模型推理。observe()描述你想找什么如找出最新 PR返回頁面上可操作元素的列表每項帶selector可直接喂給page.locator(selector).click()做確定性點擊。extract()配合 Zod schema 把頁面內(nèi)容抽成結(jié)構(gòu)化對象字段用describe()說明含義提取結(jié)果類型可控。瀏覽器工廠三選一browserbase.launch()連云瀏覽器支持服務(wù)端緩存與 Model GatewaylocalBrowser.launch()在本機(jī)起 ChromiumlocalBrowser.connect({ cdpUrl })掛到你已在跑的 Chrome。緩存開啟后act會緩存動作等價 URL 會命中緩存省掉重復(fù)的 LLM 調(diào)用。這幾個場景值得先試本地快速調(diào)試把browserbase.launch()換成localBrowser.launch({ headless: true })即可去掉云瀏覽器 key本地迭代更順手。接入手頭 ChromelocalBrowser.connect({ cdpUrl: http://127.0.0.1:9222 })直接復(fù)用已啟動的瀏覽器實例。給自動化加安全邊界用context.setDomainPolicy({ allowedDomains / blockedDomains })限定可訪問域名違規(guī)彈窗會被自動關(guān)閉詳見 瀏覽器配置文檔。四條真實的坑v3 到 v4 是大版本重構(gòu)4.0 圍繞新的瀏覽器協(xié)議重寫了 TypeScript/Python SDK老代碼升級前先看遷移文檔 v3 遷移指南。環(huán)境變量它不替你讀官方明確 Stagehand 不會自動讀取.env你得自己加載如import dotenv/config并把 key 顯式傳給瀏覽器工廠。瀏覽器生命周期歸你自己browser.close()只關(guān)它自己啟動的瀏覽器本地模式下機(jī)器上還必須有 Chrome 可執(zhí)行文件。想省錢就重放給act開啟緩存或selfHeal選擇器斷掉時自動重新推斷而不是每次都燒一次模型調(diào)用。進(jìn)階可以看這些目錄完整文檔在 packages/docs/v4/按 act、observe、extract 三個原語展開另有緩存、部署、成本優(yōu)化等實踐章節(jié)v2/v3 舊版文檔也留檔在同目錄。三語言對照示例在 packages/sdk-ts/examples/Python、Go 示例分別在同層的sdk-python、sdk-go包里。想要壓測自己場景的通過率packages/evals/ 內(nèi)置了act/extract/observe基準(zhǔn)任務(wù)和 WebVoyager 等數(shù)據(jù)集套件pnpm build:cli后跑evals即可。受夠了給選擇器打補(bǔ)丁的話就交給 Stagehand 去自愈吧?!久赓M下載鏈接】stagehandThe SDK For Browser Agents項目地址: https://gitcode.com/GitHub_Trending/stag/stagehand創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考