cloudflare-browser
透過 Cloudflare 瀏覽器渲染服務進行無頭 Chrome 自動化控制。支援截圖、網頁導航、資料抓取及影片錄製,專為 Cloudflare Workers 環境打造。
簡介
cloudflare-browser 技能為 Cloudflare Workers 生態系統內的無頭瀏覽器操作提供了強大的控制介面。透過 WebSockets 使用 Chrome 開發者工具協定 (CDP),開發者可以將託管瀏覽器視為可編程資源,用於執行複雜的自動化任務。此工具專為需要視覺確認、網頁內容提取或標準 HTTP 請求無法實現的高保真頁面渲染的代理程式而設計。目標使用者包括需要以程式化方式與動態 JavaScript 網頁互動的軟體工程師、自動化專家及資料研究人員。無論您是進行自動化回歸測試、產生動態視覺素材還是抓取結構化資料,此技能都能提供必要的底層瀏覽器狀態控制。
-
完整的 CDP 整合:支援執行標準 Chrome DevTools 指令,包括網頁導航、運行時評估 (Runtime.evaluate) 及模擬設定。
-
自動視覺擷取:原生支援擷取高解析度 PNG/JPEG 截圖,並可將多頁面序列縫合成 MP4 影片檔案。
-
視埠管理:提供設備指標的細粒度控制,支援行動裝置響應式測試與自訂視窗維度模擬。
-
即時事件處理:訂閱 Target.targetCreated 等事件,以監控瀏覽過程中的頁面生命週期與狀態變化。
-
Cloudflare 架構整合:針對 Workers 環境進行優化,確保與瀏覽器渲染後端的有效 WebSocket 通訊。
-
前置需求:需設定正確的 CDP_SECRET 環境變數,並在瀏覽器設定檔中配置 cdpUrl。
-
輸入:接受標準導航 URL、互動用 CSS 選擇器,以及透過 Runtime.evaluate 執行的原始 JavaScript 表達式。
-
輸出:產生二進位影像緩衝區、Base64 編碼截圖,或用於搭配 ffmpeg 進行影片後處理的暫存幀檔案。
-
限制:請注意 Cloudflare Sandbox 環境可能存在的冷啟動延遲;在生產環境中建議實作 30-60 秒的逾時處理。
-
最佳實踐:建議使用提供的 cdp-client.js 封裝程式來抽象化常見的重複程式碼,例如訊息 ID 追蹤與基於 Promise 的回應處理,以簡化腳本開發流程。
倉庫統計
- Star 數
- 9,875
- Fork 數
- 1,784
- Open Issue 數
- 93
- 主要語言
- TypeScript
- 預設分支
- main
- 同步狀態
- 閒置
- 最近同步時間
- 2026年4月30日 下午04:59