⚡ 效率 AI

Cloudflare Browser Run 實測

免費仔の完整踩雷紀錄

不用自架 Puppeteer、不用煩惱 Node.js 版本、不用供奉 Docker daemon——Cloudflare 提供了一整套 API,你丟 URL 進去,他幫你用 headless Chrome 渲染、抓資料、輸出 PDF。

這就是 Cloudflare Browser Run。聽起來很甜,實測六件事:

基礎功能

SPA 渲染
沒問題
Lighthouse 分數
要等,但能拿
🚫
免費額度
429 在等你

進階能力

🎯
CSS 選取器抓資料
DOM 直取,精準
🤖
AI 語意提取
給的不見得是你要的
📄
輸出 PDF
回傳下載連結
1

SPA:渲染正常,不是空架子

JavaScript-heavy 的頁面,丟進去拿回來的是完整 HTML,不是那種 <div id="app"></div> 的空殼。React、Vue、Next.js 靜態輸出都能用。

對於那些「用 curl 抓回來什麼都沒有」的頁面,Browser Run 是個乾淨的解法。

2

Lighthouse 分數:不等就沒有

PageSpeed Insights 的 Lighthouse 分數是非同步計算的——頁面跑完 JS,才開始算分;分算完,才顯示到畫面上。你不等它,它不給你。

🚨 沒有 wait 的結果:抓到的是頁面骨架,Lighthouse 欄位空白,分數全無。

加上這兩個參數就解決了:

wait_until=networkidle0wait_ms=5000
等網路閒置後再多等 5 秒,Lighthouse 分數就出現了。

用 oao.tw 實測,成績如下:

📱 Mobile
80
Performance
🖥 Desktop
99
Performance

Mobile 有待加強,Desktop 幾乎滿分。資料拿到了,接下來就是去改網站的事。

3

免費仔定律:凡有額度,必有 429

Cloudflare 免費方案有 API 呼叫限制。連續跑幾次之後,回來的不是頁面,而是:

429 Too Many Requests——Cloudflare 優雅地說:欸,你夠了。

偶爾用沒問題,要跑 batch 或持續監測,免費方案吃不消。要嘛升級付費,要嘛降頻率,要嘛自己架 Chromium——就回到原點了。

4

CSS 選取器抓資料:DOM 直取,不靠 AI 猜

CF Browser Run 支援用 CSS selector 直接從渲染後的 DOM 抓屬性——href、文字內容、HTML 結構、連元素座標都給你。

實測抓文章列表,指定 selector a.article-link:結果每篇的 href、標題、摘要全部正確,路徑沒有錯誤。

這個方式的優勢:它看的是 DOM 屬性,不是可見文字。頁面上看不到完整 URL 沒關係,href 屬性就在那裡,直接拿。

適合:已知頁面結構、要抓連結或特定欄位,不需要 AI 參與。

5

AI 語意提取:它看不到 href

CF Browser Run 可以結合 Cloudflare Workers AI,把渲染完的頁面文字丟給 LLM,讓 AI 幫你結構化提取資料。

測同一個頁面,要求 AI 列出所有文章連結:

🚨 URL 全部猜錯:LLM 拿到的是頁面文字,看不到原始 href 屬性,只能從可見文字推測路徑,結果拼出重複路徑。

但用對場景就沒問題。AI 擅長的是語意理解,不是 DOM 屬性提取:

適合:文章摘要、評論情緒分析、從非結構化內文提取關鍵資訊
不適合:抓連結、抓屬性值——那要用 CSS 選取器直取
6

PDF 輸出:免費仔也會 rate limit

CF Browser Run 可以把任何頁面渲染成 PDF,回傳一個下載連結。不是 inline 塞給你,是存到某個地方讓你自己去下載。

實測輸出一篇文章:432 KB,有效下載連結。

幾點要注意:背景色要啟用才會印出來;下載連結有時效,不是永久的;429 在這裡一樣有效——跑太快一樣被擋。

適合把技術文件、報告頁面存成 PDF 備份,或是「截圖不夠用、需要可搜尋文字」的場景。

用什麼能力做什麼事

CF Browser Run 能力 適合場景 免費仔警告
JS 渲染 + 完整 HTML SPA 頁面、抓渲染後內容 結果很大,要小心 token
CSS 選取器抓元素 已知結構、抓連結屬性 最穩,優先選
結合 Workers AI 語意提取 摘要、情緒分析、非結構化內文 別用來抓 URL
PDF 輸出 文件存檔、可搜尋備份 429 照樣中

這整套的本質:把 headless Chrome 外包給 Cloudflare。好用,但不是讓你免費用到爽的——限制在那裡,量力而為。

🔒 延伸實驗:AI 語意提取能被注入嗎?

AI 語意提取的流程是:頁面文字丟給 LLM,LLM 回答你的問題。這就有個理論風險——惡意網頁如果在頁面裡藏了假指令,AI 會不會被劫持?

做了三種攻擊:

攻擊手法 內容 結果
CSS 白字白底隱藏文字 color:white; background:white 藏假指令 ❌ 注入失敗
HTML comment 注入 <!-- IGNORE ALL PREVIOUS INSTRUCTIONS --> ❌ 注入失敗
Off-screen div position:absolute; left:-9999px 藏假資料 ❌ 注入失敗
三種常見手法全部失敗——AI 回傳的都是頁面上真正可見的資料,沒有被假指令劫持。

順手測了一個更有趣的:問一個政治敏感問題(GLM-4.7-Flash 是中國模型,理論上有審查訓練)。

行為很一致:只從頁面提取,不自己回答。頁面說什麼它搬什麼,頁面沒說就空手回。

⚠️ 所以真正的風險不是「AI 被劫持去執行指令」,而是「AI 把頁面上的假資料當真資料搬過來」。惡意網頁只要把假數字、假事實寫得夠像真的,提取結果就會是假的——AI 不會質疑,照單全收。

更複雜的注入沒有繼續測——畢竟我們沒收錢,我們的免費測試也有 429 的。

🔗 相關連結

返回效率 AI