上篇講了 Playwright MCP,官方同時還推了一個 CLI,它們啥區別?
整理版優先睇
Playwright CLI 同 MCP 有咩分別?一文睇清定位、用法同點揀
呢篇文章係為咗解答成日有人問嘅問題:Playwright CLI 同 MCP 到底有咩分別?作者自己研究 MCP 嘅時候發現咗呢個 CLI,初頭以為只係個命令行工具,睇真啲先知兩個定位好唔同。文章主要介紹 Playwright CLI——一個專為 AI 編碼智能體(例如 Claude Code、GitHub Copilot)設計嘅瀏覽器控制工具,核心賣點係 Token 消耗極低,適合任務型自動化。
安裝同使用都好簡單:npm install 之後,一定要執行 `playwright-cli install --skills` 安裝技能包,等 AI 智能體識得點用啲命令。CLI 嘅工作方式係逐條命令執行,每次返回一個精簡快照,AI 可以一步一步咁操作,每一步嘅上下文都好細,所以好慳 Token。命令涵蓋頁面操作、元素定位、截圖、標籤頁管理、網絡攔截、存儲管理等等,仲有多會話管理同可視化監控面板。
最後作者將 CLI 同比 MCP 做咗個對比:MCP 適合 UI 回歸測試、生成測試代碼,因為佢讀整棵無障礙樹,Token 用得多但推理更強;CLI 適合 AI 智能體完成自動化任務,例如登入網站填表呢類。兩者唔係二揀一,完全可以喺同一個項目入面配合使用。結論係按場景揀工具:要寫測試腳本就用 MCP,要執行任務就用 CLI。
- Playwright CLI 係專為 AI 智能體設計嘅瀏覽器遙控器,每步 Token 消耗低,適合任務型自動化。
- 安裝後一定要執行 `playwright-cli install --skills` 安裝技能包,等 AI 識得點用命令。
- CLI 用精簡快照定位元素,支援 ref 編號、CSS 同 role 選擇器,操作直觀。
- 同 MCP 定位互補:MCP 適合 UI 回歸測試同生成測試代碼,CLI 適合直接操控瀏覽器完成任務。
- 兩個工具可以同時用喺同一個項目,唔需要強行二揀一,按場景選擇就得。
Playwright CLI 官方文檔
官方文檔詳細說明安裝、命令同用法
Playwright CLI Skills 安裝
執行指令:playwright-cli install --skills,等 AI 智能體識別 CLI 命令同用法
CLI 係咩?點解要有佢?
上一篇文章講咗 Playwright MCP,跟住好多人問:「官網仲有個 CLI,同 MCP 有咩分別?我應該用邊個?」作者話佢自己都係研究 MCP 嗰陣先發現呢個 CLI,初頭以為只係一個普通命令行工具,點知仔細睇先發現兩個定位差好遠。
Playwright CLI 全名係 playwright-cli,係官方專為 AI 編碼智能體(例如 Claude Code、GitHub Copilot)設計嘅瀏覽器控制工具。簡單講,就係畀 AI 一條命令一條命令咁遙控瀏覽器。佢嘅核心特點係 Token 消耗極低。MCP 嘅做法係讀整棵無障礙樹,AI 攞到一大份結構化數據再理解,對推理好好但 Token 用好大。CLI 就唔同:AI 發一條指令,瀏覽器執行,返回一個 精簡快照。再下一條,再執行,再返回。成個過程好似喺終端敲命令咁,每一步嘅上下文都好細。
喺代碼量大、推理鏈長嘅項目入面,呢點分別好關鍵——Token 慳咗,就可以留更多畀代碼上下文。
5 分鐘裝好,跑起來
npm install -g @playwright/cli@latest
裝完之後驗證一下:
playwright-cli --help
見到一堆命令說明就代表裝好啦。但記住,仲有一個好重要嘅步驟——安裝 技能包:
playwright-cli install --skills
呢條命令會將 Playwright CLI 嘅「技能包」安裝到本地,等 GitHub Copilot、Claude Code 呢類智能體可以讀到更豐富嘅上下文,知道有咩命令同點用。裝咗之後,AI 就唔使自己摸索命令用法,直接跟技能包嘅說明操作。
- 打開頁面:`playwright-cli open https://demo.playwright.dev/todomvc/ --headed`
- 輸入待辦事項:`playwright-cli type "Buy groceries"` 然後 `playwright-cli press Enter`
- 再輸入:`playwright-cli type "Water flowers"` 然後 `playwright-cli press Enter`
- 勾選第一項:`playwright-cli check e21`
- 截圖睇下:`playwright-cli screenshot`
每條命令執行完,都會吐出當前頁面嘅 快照,入面有元素 ref(例如 e21),AI 下一步就係攞呢啲 ref 嚟定位元素。
核心命令速查
以下係常用命令分類,掃一眼有個印象,用嘅時候返嚟查就得。
- 1 頁面操作:`open`, `goto`, `click`, `type`, `fill`, `select`, `check`, `hover`, `press`, `close`
- 2 元素定位:用 snapshot 拎 ref 編號(例如 e21),亦都支援 CSS 選擇器同 role 選擇器
- 3 截圖同快照:`snapshot`, `screenshot`, `pdf`
- 4 標籤頁管理:`tab-list`, `tab-new`, `tab-select`, `tab-close`
- 5 網絡攔截:`network`, `route`, `route-list`, `unroute`
- 6 存儲管理:`state-save`, `state-load`, `cookie-list`, `cookie-set`
- 7 DevTools:`console`, `eval`, `run-code`, `tracing-start`, `tracing-stop`, `video-start`, `video-stop`
進階功能:多會話同可視化監控
預設情況下,瀏覽器關咗,cookies 同存儲狀態就會冇咗。想保留登入狀態,可以用 --persistent 參數:
playwright-cli -s=work open
https://app.example.com --persistent
`-s=work` 係幫呢個會話改個名,下次再用 `-s=work` 就可以跟返上次嘅狀態繼續。用 `playwright-cli list` 可以睇曬所有會話,`playwright-cli close-all` 就關曬所有瀏覽器。
仲有個好得意嘅功能——可視化監控面板。執行 `playwright-cli show` 會打開一個本地 Web 界面:左邊係所有活躍會話嘅縮略圖預覽(即時更新),撳入去可以睇到完整瀏覽器畫面,仲支援直接用鼠標鍵盤接管控制(按 Escape 退出)。調試 AI 喺瀏覽器做咗乜嘢,非常直觀。
CLI vs MCP:到底點揀?
官方文檔講得好清楚:playwright-cli 適合 coding agents(Claude Code、GitHub Copilot 等),偏重 Token 效率同技能化工作流;MCP 適合需要持久連接同對頁面結構進行迭代推理嘅專項自動化,例如探索性任務或長時運行嘅自主工作流。
- 1 核心定位:CLI 係 AI 智能體嘅瀏覽器遙控器;MCP 係 AI 讀取頁面結構嘅工具服務
- 2 Token 消耗:CLI 低(逐條命令,精簡快照);MCP 高(加載完整無障礙樹)
- 3 適合場景:CLI -> 自動化任務(例如填表、登入);MCP -> UI 回歸測試、生成測試代碼
- 4 主要產出:CLI -> 完成操作任務;MCP -> 可維護嘅測試腳本
- 5 狀態保持:CLI 支援命名會話 + 持久化;MCP 每次工具調用相對獨立
- 6 元素定位:CLI 用 ref 編號 / CSS / role;MCP 用語義化角色定位
- 7 調試體驗:CLI 用 `playwright-cli show` 面板;MCP 用 VS Code MCP 工具面板
簡單講:如果你嘅目標係 UI 回歸測試、持續集成——用 MCP,等 AI 生成結構清晰嘅測試代碼,入 code repo,行 CI/CD。如果你嘅目標係 等 AI 完成一個自動化任務——例如「幫我登入呢個網站,填完表提交」——用 CLI,輕量、快、Token 慳。
呢個問題問得好好,我都係研究 MCP 嘅時候發現呢個 CLI 嘅。起初我以為咪又係一個命令行工具,點知仔細一睇,呢兩個其實定位差好多。
今日就將呢兩個工具對比清楚,順便將 Playwright CLI 呢個嘢單獨講明白。
Playwright CLI 係咩?
全名是 playwright-cli,Playwright 官方推出嘅,專門為 AI 編碼智能體(好似 Claude Code、GitHub Copilot)設計嘅瀏覽器控制工具。
講白啲,就係俾 AI 可以一條命令一條命令咁遙控瀏覽器。
佢嘅核心特點係:Token 消耗極低。
MCP 嘅工作方式係讀曬成棵無障礙樹,AI 攞到一大片結構化數據之後再理解。呢個對推理好友好,但 Token 食得多。
CLI 唔同。AI 發一條指令,瀏覽器執行,返回一個精簡快照。再發下一條,再執行,再返回。成個過程就好似喺終端機入面敲命令咁,每一步嘅上下文都好細。
喺代碼量大、推理鏈長嘅項目入面,呢個差異真係好關鍵——Token 慳返出嚟,可以留俾更多代碼上下文。
5 分鐘裝好,即刻用得
安裝
bashnpm install -g @playwright/cli@latest驗證:
bashplaywright-cli --help會彈出一堆命令說明就裝好咗。
安裝 Skills 技能包
呢一步好關鍵,唔好 skip 咗。
bashplaywright-cli install --skills呢條命令會將 Playwright CLI 嘅「技能包」安裝到本地,等 GitHub Copilot、Claude Code 呢類智能體可以讀到更豐富嘅上下文,知道有啲咩命令可以用、點樣用。
裝咗之後,你嘅智能體就唔需要再自己摸索命令用法,直接按技能包入面嘅說明操作。
手動試下
嚟一個最簡單嘅示範,感受一下佢嘅工作方式:
bash# 打開頁面playwright-cli open https://demo.playwright.dev/todomvc/ --headed# 輸入一個待辦事項playwright-cli type "Buy groceries"playwright-cli press Enter# 再加一條playwright-cli type "Water flowers"playwright-cli press Enter# 勾選第一條playwright-cli check e21# 截圖看看playwright-cli screenshot執行完每一條命令,佢都會吐出當前頁面嘅快照:
text### Page- Page URL: https://demo.playwright.dev/todomvc/#/- Page Title: React • TodoMVC### Snapshot[Snapshot](.playwright-cli/page-2026-04-20T10-22-42-679Z.yml)呢個快照入面有元素 ref(例如 e21),AI 下一步操作就係攞呢啲 ref 嚟定位元素。
核心命令速查
唔使全部記,睇一眼有個印象,用到嘅時候返嚟查。
頁面操作
bashplaywright-cli open [url] # 打開瀏覽器playwright-cli goto <url> # 導航到 URLplaywright-cli click <ref> # 點擊元素playwright-cli type <text> # 往當前焦點輸入文本playwright-cli fill <ref> <text> # 填充指定輸入框playwright-cli select <ref> <value> # 下拉框選值playwright-cli check <ref> # 勾選複選框playwright-cli hover <ref> # 懸停playwright-cli press <key> # 按鍵(Enter / Escape 等)playwright-cli close # 關閉頁面元素定位方式
用快照入面嘅 ref 編號最方便:
bashplaywright-cli snapshot # 拿到快照,看 ref 編號playwright-cli click e15 # 用 ref 點擊亦支援 CSS 選擇器同 role 選擇器:
bashplaywright-cli click "#main > button.submit"playwright-cli click "role=button[name=Submit]"截圖同快照
bashplaywright-cli snapshot # 獲取頁面結構快照playwright-cli screenshot # 截圖當前頁面playwright-cli screenshot <ref> # 截某個元素playwright-cli pdf # 保存為 PDF標籤頁管理
bashplaywright-cli tab-list # 列出所有標籤頁playwright-cli tab-new [url] # 新開標籤頁playwright-cli tab-select <index> # 切換標籤頁playwright-cli tab-close [index] # 關閉標籤頁網絡攔截(模擬接口)
bashplaywright-cli network # 查看網絡請求playwright-cli route <pattern> # 攔截請求(Mock)playwright-cli route-list # 列出所有攔截規則playwright-cli unroute [pattern] # 取消攔截儲存管理(登錄狀態保持)
bashplaywright-cli state-save [file] # 保存 cookies + localStorageplaywright-cli state-load <file> # 恢復存儲狀態playwright-cli cookie-list # 列出 cookiesplaywright-cli cookie-set <n> <v> # 設置 cookieDevTools
bashplaywright-cli console # 查看控制枱日誌playwright-cli eval <func> # 在頁面執行 JSplaywright-cli run-code <code> # 跑一段 Playwright 代碼playwright-cli tracing-start # 開始錄製 Traceplaywright-cli tracing-stop # 停止 Trace 錄製playwright-cli video-start # 開始錄屏playwright-cli video-stop # 停止錄屏多會話管理
預設情況下,瀏覽器關咗,cookies 同儲存狀態就冇咗。想保留登錄狀態,用 --persistent:
bashplaywright-cli -s=work open https://app.example.com --persistent-s=work 係俾呢個會話改個名,下次再用 -s=work 就可以接住上次嘅狀態繼續。
睇所有會話:
bashplaywright-cli list關曬所有瀏覽器:
bashplaywright-cli close-all可視化監控面板
呢個功能幾得意。執行 playwright-cli show,會打開一個本地 Web 界面:
- 左邊係所有活躍會話嘅縮略圖預覽(即時)
- 㩒入去可以睇到完整嘅瀏覽器畫面
- 支援直接用滑鼠鍵盤接管控制(按 Escape 退出)
用嚟調試 AI 喺瀏覽器入面做咗啲咩,非常直觀。
CLI vs MCP:到底揀邊個
官方文檔俾咗一句好清楚嘅定位:
我自己理解落嚟,加上之前嗰個問題嘅討論,分別大約係咁樣:
playwright-cli show |
如果你嘅目標係 UI 迴歸測試、持續集成——用 MCP,等 AI 生成結構清晰嘅測試代碼,納入代碼倉庫,行 CI/CD。
如果你嘅目標係等 AI 完成一個自動化任務——例如「幫我登錄呢個網站,將表單填好提交」——用 CLI,輕量、快、Token 慳。
兩者唔互斥,一個項目入面完全可以都用得着。
快速參考
npm install -g @playwright/cli@latest | |
playwright-cli install --skills | |
playwright-cli open https://example.com | |
playwright-cli click e15 | |
playwright-cli type "hello" | |
playwright-cli screenshot | |
playwright-cli snapshot | |
playwright-cli open https://example.com --headed | |
playwright-cli open --browser=firefox | |
playwright-cli show |
小結
- Playwright MCP → 睇明頁面,幫你寫測試代碼,適合 UI 迴歸測試
- Playwright CLI → 等 AI 操控瀏覽器,適合自動化任務同智能體流程
- 迴歸測試場景優先揀 MCP;Token 敏感、任務型場景揀 CLI
- 兩個工具可以配合使用,唔衝突
如果你仲未睇上一篇 Playwright MCP 嘅內容,建議你先睇嗰篇——理解咗 MCP 之後,再嚟睇呢篇會清楚好多。
參考文檔:https://playwright.dev/docs/getting-started-cli
這個問題問得好,我也是在研究 MCP 的時候發現這個 CLI 的。起初我以為不就是個命令行工具嘛,結果仔細一看,這倆其實定位差挺多的。
今天就把這兩個工具對比清楚,順便把 Playwright CLI 這個東西單獨說明白。
Playwright CLI 是什麼
全名是 playwright-cli,Playwright 官方推出的,專門為 AI 編碼智能體(比如 Claude Code、GitHub Copilot)設計的瀏覽器控制工具。
說白了,就是讓 AI 能一條命令一條命令地遙控瀏覽器。
它的核心特點是:Token 消耗極低。
MCP 的工作方式是讀整棵無障礙樹,AI 拿到一大片結構化數據之後再理解。這對推理很友好,但 Token 吃得多。
CLI 不一樣。AI 發一條指令,瀏覽器執行,返回一個精簡快照。再發下一條,再執行,再返回。整個過程就像在終端裏敲命令一樣,每一步的上下文都很小。
在代碼量大、推理鏈長的項目裏,這一點差異真的挺關鍵——Token 省出來,能留給更多代碼上下文。
5 分鐘裝好,跑起來
安裝
bashnpm install -g @playwright/cli@latest驗證:
bashplaywright-cli --help能出來一堆命令說明就裝好了。
安裝 Skills 技能包
這一步很關鍵,別跳過。
bashplaywright-cli install --skills這條命令會把 Playwright CLI 的"技能包"安裝到本地,讓 GitHub Copilot、Claude Code 這類智能體能讀到更豐富的上下文,知道有哪些命令可以用、怎麼用。
裝了之後,你的智能體就不需要再自己摸索命令用法了,直接按技能包裏的說明操作。
手動試一把
來一個最簡單的演示,感受一下它的工作方式:
bash# 打開頁面playwright-cli open https://demo.playwright.dev/todomvc/ --headed# 輸入一個待辦事項playwright-cli type "Buy groceries"playwright-cli press Enter# 再加一條playwright-cli type "Water flowers"playwright-cli press Enter# 勾選第一條playwright-cli check e21# 截圖看看playwright-cli screenshot執行完每條命令,它都會吐出當前頁面的快照:
text### Page- Page URL: https://demo.playwright.dev/todomvc/#/- Page Title: React • TodoMVC### Snapshot[Snapshot](.playwright-cli/page-2026-04-20T10-22-42-679Z.yml)這個快照裏有元素 ref(比如 e21),AI 下一步操作就是拿這些 ref 來定位元素。
核心命令速查
不用全記,掃一眼有個印象,用的時候回來查。
頁面操作
bashplaywright-cli open [url] # 打開瀏覽器playwright-cli goto <url> # 導航到 URLplaywright-cli click <ref> # 點擊元素playwright-cli type <text> # 往當前焦點輸入文本playwright-cli fill <ref> <text> # 填充指定輸入框playwright-cli select <ref> <value> # 下拉框選值playwright-cli check <ref> # 勾選複選框playwright-cli hover <ref> # 懸停playwright-cli press <key> # 按鍵(Enter / Escape 等)playwright-cli close # 關閉頁面元素定位方式
用快照裏的 ref 編號最方便:
bashplaywright-cli snapshot # 拿到快照,看 ref 編號playwright-cli click e15 # 用 ref 點擊也支持 CSS 選擇器和 role 選擇器:
bashplaywright-cli click "#main > button.submit"playwright-cli click "role=button[name=Submit]"截圖和快照
bashplaywright-cli snapshot # 獲取頁面結構快照playwright-cli screenshot # 截圖當前頁面playwright-cli screenshot <ref> # 截某個元素playwright-cli pdf # 保存為 PDF標籤頁管理
bashplaywright-cli tab-list # 列出所有標籤頁playwright-cli tab-new [url] # 新開標籤頁playwright-cli tab-select <index> # 切換標籤頁playwright-cli tab-close [index] # 關閉標籤頁網絡攔截(模擬接口)
bashplaywright-cli network # 查看網絡請求playwright-cli route <pattern> # 攔截請求(Mock)playwright-cli route-list # 列出所有攔截規則playwright-cli unroute [pattern] # 取消攔截存儲管理(登錄態保持)
bashplaywright-cli state-save [file] # 保存 cookies + localStorageplaywright-cli state-load <file> # 恢復存儲狀態playwright-cli cookie-list # 列出 cookiesplaywright-cli cookie-set <n> <v> # 設置 cookieDevTools
bashplaywright-cli console # 查看控制枱日誌playwright-cli eval <func> # 在頁面執行 JSplaywright-cli run-code <code> # 跑一段 Playwright 代碼playwright-cli tracing-start # 開始錄製 Traceplaywright-cli tracing-stop # 停止 Trace 錄製playwright-cli video-start # 開始錄屏playwright-cli video-stop # 停止錄屏多會話管理
默認情況下,瀏覽器關了,cookies 和存儲狀態就沒了。想保留登錄態,用 --persistent:
bashplaywright-cli -s=work open https://app.example.com --persistent-s=work 是給這個會話起個名字,下次再用 -s=work 就能接着上次的狀態繼續。
查看所有會話:
bashplaywright-cli list關掉所有瀏覽器:
bashplaywright-cli close-all可視化監控面板
這個功能挺有意思。運行 playwright-cli show,會打開一個本地 Web 界面:
- 左側是所有活躍會話的縮略圖預覽(實時的)
- 點進去可以看到完整的瀏覽器畫面
- 支持直接用鼠標鍵盤接管控制(按 Escape 退出)
用於調試 AI 在瀏覽器裏幹了什麼,非常直觀。
CLI vs MCP:到底選哪個
官方文檔給了一句很清楚的定位:
我自己理解下來,加上前面那個問題的討論,區別大概是這樣的:
playwright-cli show |
如果你的目標是 UI 迴歸測試、持續集成——用 MCP,讓 AI 生成結構清晰的測試代碼,納入代碼倉庫,跑 CI/CD。
如果你的目標是讓 AI 完成一個自動化任務——比如"幫我登錄這個網站,把表單填完提交"——用 CLI,輕量、快、Token 省。
兩者不互斥,一個項目裏完全可以都用到。
快速參考
npm install -g @playwright/cli@latest | |
playwright-cli install --skills | |
playwright-cli open https://example.com | |
playwright-cli click e15 | |
playwright-cli type "hello" | |
playwright-cli screenshot | |
playwright-cli snapshot | |
playwright-cli open https://example.com --headed | |
playwright-cli open --browser=firefox | |
playwright-cli show |
小結
- Playwright MCP → 讀懂頁面,幫你寫測試代碼,適合 UI 迴歸測試
- Playwright CLI → 讓 AI 操控瀏覽器,適合自動化任務和智能體流程
- 迴歸測試場景優先選 MCP;Token 敏感、任務型場景選 CLI
- 兩個工具可以搭配使用,不衝突
如果你還沒看上一篇 Playwright MCP 的內容,建議先看那篇——理解了 MCP 之後,再來看這篇會清晰很多。
參考文檔:https://playwright.dev/docs/getting-started-cli