最佳 Selenium 替代方案

Selenium 透過 WebDriver 協調各種瀏覽器。ego(lite) 則給你的 AI Agent 一個真實的瀏覽器,和你並肩使用。 ego(lite) 省去 driver 和 Grid,同時保留你明確提供給它的瀏覽器狀態。精簡的 Snapshot 與批次動作,能減少模型輪次和 Token 用量。

ego(lite) 對比 Selenium

ego(lite) 與 Selenium 的功能比較。
功能ego(lite)Selenium
工作是怎麼完成的描述任務;AI Agent 透過 /ego-browser 操控 ego(lite)用 Java、Python、C#、Ruby 或 JavaScript 編寫 WebDriver 腳本
等待與不穩定AI Agent 透過 /ego-browser 讀取 Snapshot 並執行動作顯式等待、失效元素處理、重試次數
沿用你真實的 Chrome 登入狀態符合條件的瀏覽器狀態可在初始設定時匯入預設不行;持久設定檔需要明確的生命週期管理
設定安裝 ego(lite),在你的 AI Agent 裡執行 /ego-browser一個語言專案,還要每種瀏覽器各自的 driver
與 AI Agent 協作透過 /ego-browser,天生就是為它們打造的沒有官方 MCP;只有像 mcp-selenium 這類社群伺服器
平行任務Space 在同一個可見的瀏覽器中隔離各項任務由你自己維運的 Grid 節點,或並行的 driver 會話
跨瀏覽器覆蓋面僅 Chromium透過 WebDriver 支援 Chrome、Edge、Firefox 和 Safari
反機器人與 CAPTCHA 處理不繞過;使用經允許的資料、合理的請求頻率,遇到驗證關卡時交由人工審查WebDriver 指紋和網站管控依然存在;繞過腳本既不可靠也不合規
工作階段與 MFA 安全提供一份獨立的瀏覽器狀態;遇到 OTP、MFA 和敏感操作時暫停持久設定檔需要生命週期管理;絕不用自動化繞過帳號驗證
定位器維護即時快照與語意化目標;不明確的變化交由人工審查在程式碼中維護 CSS/XPath 與明確等待
舊系統的瀏覽器介面在隔離的 Spaces 中處理以瀏覽器為基礎的舊系統流程,高風險步驟需確認只要舊系統應用程式提供受支援的瀏覽器介面,WebDriver 就能運作
低程式碼工作流程用白話描述範圍明確的任務,再監督執行過程以程式碼為主的語言綁定與測試框架設定
日常使用的瀏覽器可以,你在自己的 Space 裡瀏覽,Agent 在它們自己的 Space 裡工作不是,它是用於測試的自動化函式庫
可重複使用的 skills(即將推出)將成功的執行過程萃取成可重複使用的 skills,用於重複性任務(限量 beta)沒有內建的對應功能
價格瀏覽器免費下載;請確認目前的條款免費軟體,Apache-2.0(Grid 容量的成本由你自行負擔)

最後更新 2026年8月30日

獲得來自以下單位開發者的信賴

  • Vercel
  • OpenAI
  • Anthropic
  • SpaceX
  • Google
  • Microsoft
  • DJI
  • DeepSeek
  • Kimi
  • TikTok
  • MiniMax
  • SAP
  • ZARA
  • eBay
  • Cisco
  • Trip.com
  • LINE
  • NHN
  • Hyundai Motor

為什麼 ego(lite) 比 Selenium 更好

對於需要持續維護的跨瀏覽器測試系統,Selenium 是正確的抽象層。當瀏覽器本身就是工作場域時,ego(lite) 才是正確的抽象層:讓 Agent 在一個看得見的本機 Space 裡搜尋、調查、擷取資料、填寫表單、測試或操作已授權的網站,你則繼續瀏覽。

更少重試,更清楚的復原

Selenium 使用者都很熟悉這個循環:調整明確等待、撞上過期元素、加一次重試,然後在下一次 UI 改版後,又得追查另一個「element is not clickable」錯誤。執行 /ego-browser,你的程式碼 AI Agent 就會讀取當下的 Snapshot、針對穩定的 @N 參照操作,並在頁面出現有意義的變化後重新檢查。復原過程清楚可見,而不是藏在脆弱的等待裡,所以互動式工作更容易診斷。如果是你自己的應用程式,就把無障礙名稱或特意設計的測試 ID 與即時快照搭配使用;如果是第三方網站,當有多個目標同時符合時,就直接判定失敗(fail closed),而不是去猜 CSS 或 XPath 選擇器。

平行多工,執行更快

在 Selenium 裡同時跑兩件瀏覽器雜事,你得自己周旋多個並行的 driver 工作階段,或是架一套 Grid。這套機制對每晚跑的跨瀏覽器矩陣來說很合適,但如果你只是想在午餐前搞定三件小事,就太重了。在 ego(lite) 中,Spaces 可以在瀏覽器內把各項任務分隔開來,在機器和帳號限制允許的情況下,還能同時執行好幾個。程式碼 AI Agent 透過 /ego-browser 控制每個 Space;視窗與工作階段的界線取決於設定檔怎麼設定。在社群平台上,研究要保持唯讀、範圍窄、有快取且可追溯來源;有匯出功能或經核准的 API 時就優先使用,而按讚、追蹤、傳訊息、主動聯繫或任何帳號變更,都必須由真人處理。

不再來回往返 消耗更少 Token

純粹的 Selenium 腳本不花任何 token,因為整個流程裡沒有模型參與。但一旦把 WebDriver 包裝給 Agent 用,帳單很快就會出現:Selenium 至今仍沒有官方的 MCP 伺服器,社群版的伺服器又常常把一整份很重的 DOM 樹丟進模型的 context 裡。執行 /ego-browser,你的程式碼 AI Agent 每一輪就能用幾行 JavaScript 批次執行多個動作來操控 ego(lite)。在我們錄製的範例中,聚焦後的 Snapshot 約為 200 到 400 個 Token,但輸出大小會隨頁面和擷取內容而不同。這為手動測試人員提供了一條有人監督、低程式碼的路徑來處理範圍明確的工作,但它無法取代斷言、審查,或針對非瀏覽器舊系統的經核准 RPA 整合。

Claude Code · ego(lite)
>/ego-browser Add the first product to the cart, then check checkout loads
●Bash(
ego-browser nodejs <<'EOF' await openOrReuseTab('localhost:3000') await click('.product-card') await click('.add-to-cart') await click('a[href="/checkout"]') cliLog('checkout loaded') EOF
)
⎿Output:
[t=4480ms] checkout loaded
Done. Both steps work.
─── 1 tool call · ↑ 1.1k tokens ───
Claude Code · mcp-selenium
>Add the first product to the cart, then check checkout loads
●selenium - start_browser (MCP)(browser: "chrome")
⎿Result
Browser started with session_id 4f1c…
↑ 1.6k tokens sent so far
Fresh Chrome, no cookies and no logins. Loading the storefront.
●selenium - navigate (MCP)(url: "localhost:3000")
⎿Result
Navigated to localhost:3000
↑ 3.1k tokens sent so far
Nothing came back about the page itself. Reading the accessibility resource to find the first product.
●selenium - accessibility://current
⎿Accessibility tree
… +214 lines (ctrl+o to expand)
↑ 4.9k tokens sent so far
First product card is .product-card. Clicking it.
●selenium - interact (MCP)(action: "click", by: "css", value: ".product-card")
⎿Result
Clicked element
↑ 6.8k tokens sent so far
Product page is up, so everything I just read is out of date. Reading the tree again.
●selenium - accessibility://current
⎿Accessibility tree
… +206 lines (ctrl+o to expand)
↑ 9.2k tokens sent so far
Add to cart is .add-to-cart.
●selenium - interact (MCP)(action: "click", by: "css", value: ".add-to-cart")
⎿Result
Clicked element
↑ 11.2k tokens sent so far
Added. Opening checkout, then I still have to confirm it loaded.
●selenium - interact (MCP)(action: "click", by: "css", value: "a[href='/checkout']")
⎿Result
Clicked element
↑ 13.6k tokens sent so far
─── 7 tool calls · ↑ 13.6k tokens ───

同樣的任務,同樣的模型。 左邊:ego(lite) 裡一次打包的 JavaScript 呼叫,總共 1.1k tokens。 右邊:經社群版 MCP 伺服器操控的 Selenium,7 次往返,token 漲到 13.6k。

已登入狀態,AI Agent 原生體驗

Selenium 無法接上你正在使用中的 Chrome 設定檔。Chrome 開著的時候把 ChromeDriver 指向它,只會得到一句「user data directory is already in use」。ego(lite) 建構於 Chromium 之上,可以在初始設定時匯入你選定的 Chrome 狀態。當你的程式碼 AI Agent 執行 /ego-browser 時,它可以使用你明確提供的瀏覽器狀態,但 SSO、2FA、工作階段過期和 CAPTCHA 驗證仍可能中斷任務。絕對不要把密碼、OTP 或復原碼寫進腳本,遇到 MFA 或 CAPTCHA 時也要暫停,交給帳號擁有者處理。Selenium 或 ego(lite) 瀏覽器仍可能收到 403 或服務商的驗證挑戰,所以請使用經允許的資料、合理的請求頻率,以及經核准的 API 或匯出功能,而不是靠隱身修補、Agent 輪換或其他規避手段。

讓轉換無縫接軌

不需要搬移你的 WebDriver 測試套件。要搬過來的,是你想讓 Agent 直接處理的瀏覽器工作,包括迴歸測試套件之外的搜尋、研究、資料擷取、表單、測試和需要登入的工作流程。

1

下載 ego(lite)

下載 ego(lite),並查看初始設定中匯入所選 Chrome 狀態的選項。在授予 Agent 存取權之前,先確認哪些工作階段和擴充功能符合條件。

2

用 /ego-browser 執行你的第一個任務

在 Claude Code、Codex 或 Cursor 裡貼上一句話再按下 enter。不用 driver 執行檔,不用 Grid,不用設定 MCP。

貼到你的 Agent 裡

/ego-browser 打開 ego.app,列出頁面上每個按鈕的文字

3

看它實際運作

在這樣設定的情況下,任務會在自己的 Space 裡執行。在支援的情況下,你可以即時觀看或接手,並在 Agent 的 CLI 中核對結果;工作階段過期和網站提示仍需要人工檢查。

ego(lite) 的 Space 總覽,四項瀏覽器任務並排執行:Claude Code 在 Yahoo Finance 追蹤蘋果股價、Codex 在 cars.com 依年份篩選車款、Hermes 完成一項 SaaS 後台任務、一位使用者在擷取 X 上的資料,還有一隻手正點擊 + 開啟另一個 Space

CI 裡的跨瀏覽器迴歸測試,繼續用 Selenium。

何時該用哪個工具

適合選擇 ego(lite) 的情況

  • 你的任務會碰到需要登入的網站:儀表板、後台管理介面,或任何有 SSO、2FA 保護的頁面。
  • 你想讓 Agent 直接處理、而不是寫進迴歸測試套件的瀏覽器工作。
  • 你想讓好幾個任務在平行的 Space 裡同時執行,不用另外架一套 Grid。
  • 你在意每項任務的 token 成本。Snapshot 輸入加上批次 JavaScript,勝過每個動作都要一次 MCP 呼叫。

何時選擇 Selenium

  • 你需要涵蓋 Firefox 和 Safari。ego(lite) 只支援 Chromium。
  • 你的團隊用官方的 WebDriver 綁定,以 Java、Python、C#、Ruby 或 JavaScript 寫測試。
  • 你在 Selenium Grid 上跑企業級的迴歸測試。
  • 你想要的是 WebDriver 標準、Apache-2.0 的治理模式,以及 Stack Overflow 上累積數十年的 QA 解答。

將 ego(lite) 與其他瀏覽器自動化工具比較

與 Puppeteer、Playwright MCP、Claude Chrome extension、Browser Harness,以及另外 7 款工具的逐項比較。

FAQ

Selenium 是什麼?

Selenium 是業界歷史最久的瀏覽器自動化專案,也是 WebDriver 標準的參考實作,提供 Java、Python、C#、Ruby、JavaScript 的綁定,還有能做分散式跨瀏覽器執行的 Grid。它在 QA 迴歸測試上表現優異。Selenium vs Playwright 或 Selenium vs Puppeteer 這類搜尋,通常比的是測試框架;這頁要談的是:當瀏覽的不是腳本、而是 AI Agent,而且是在你早就登入好的瀏覽器裡操作時,事情會有什麼不同。

ego(lite) 是不是 Selenium 的好替代方案?

如果是由 Agent 驅動的瀏覽器工作,答案是肯定的:搜尋、研究、資料擷取、表單、測試或需要登入的工作流程,只要描述出來就好,不需要 WebDriver 腳本或 Grid。如果是跨瀏覽器迴歸測試套件和 CI 中的 Selenium Grid 管線,答案是否定的。已提交的測試繼續交給 Selenium,周邊的瀏覽器工作則交給 ego(lite)。

Selenium 適合用來做 AI 瀏覽器 Agent 嗎?

Selenium 生來是為了確定性的測試腳本,不是給 LLM 驅動的迴圈用的。把 WebDriver 包裝給 Agent 用,代價就是又重的 DOM 傾印,或是像 mcp-selenium 這類社群 MCP 伺服器——官方至今都沒有出過 Selenium MCP。ego(lite) 從一開始就是為 Agent 打造的:執行 /ego-browser,你的 AI Agent 就能用 Snapshot 輸入加批次 JavaScript 操控 ego(lite)。

有沒有 Selenium MCP 伺服器,我能把 Selenium 和 Claude Code 一起用嗎?

官方沒有出過 Selenium MCP 伺服器。維護者也提過,互動式的 LLM session 很快就會把 context 塞滿。像 mcp-selenium 這類社群伺服器是有的,但常常每次頁面一變,就得重新讀一次很重的無障礙樹。ego(lite) 完全跳過 MCP:在 Claude Code、Codex 或 Cursor 裡執行 /ego-browser 就好。

Selenium 能用我現有的 Chrome 設定檔和登入狀態嗎?

無法使用 Chrome 目前正在使用的那個設定檔。Selenium 的 issue tracker 記載,Chrome 開著時,ChromeDriver 無法連接到正在使用中的預設設定檔。ego(lite) 可以在初始設定時匯入符合條件的瀏覽器狀態,但每項任務仍取決於工作階段是否過期、MFA、網站政策,以及授予該設定檔的權限。

Playwright vs Selenium:各有什麼優缺點?

Playwright vs Selenium 說到底比的是測試工程能力。Playwright 是有自動等待和強大偵錯能力的現代框架。Selenium 則是遵循 W3C WebDriver 標準,支援五種官方語言,還有能做跨瀏覽器矩陣測試的 Grid。兩者都是從一個空白瀏覽器開始。但如果瀏覽這件事交給 Agent 來做,更關鍵的問題其實是它能不能沿用你的登入狀態。可以參考 ego(lite) vs Playwright 和 ego(lite) vs Puppeteer。

Selenium 和 Puppeteer,哪個更好?

在測試自動化的場景裡,Selenium vs Puppeteer 該選哪個,取決於語言和瀏覽器覆蓋範圍。Puppeteer 是專注在 Chrome 上的精簡 Node.js 函式庫。Selenium 則支援跨瀏覽器、多語言,還有 Grid。至於 selenium puppeteer 這類搜尋在比較 AI Agent 路線時,兩者都還是要寫腳本、維護腳本。ego(lite) 則把這一層完全拿掉,直接處理已登入帳號的 Agent 工作。

Selenium vs Playwright:哪個更適合 AI Agent?

兩者開箱都不是為 Agent 瀏覽器設計的。團隊通常會加裝 Playwright MCP,或是社群包裝的 Selenium MCP,但這樣一來每個動作還是要一次工具呼叫,設定檔也還是全新或得手動設定的。ego(lite) 才是 Agent 原生的路線:執行 /ego-browser,你的 AI Agent 就能用更少的 token 完成整個任務。

為什麼網站會檢測 Selenium,ego(lite) 能繞過嗎?

navigator.webdriver 和其他自動化訊號本來就是 WebDriver 生態系的一部分,所以網站可能會對 Selenium 工作階段發出驗證挑戰。ego(lite) 不是隱身工具,也不會繞過 Cloudflare、Akamai、CAPTCHA 或其他存取控制。請使用經核准的 API 或公開資料、維持合理的請求頻率,並在出現驗證關卡時停下來交由人工審查。

在 Selenium 中該如何處理 CAPTCHA 或 Turnstile?

不要自動化處理 CAPTCHA,也不要試圖規避它。請暫停執行,讓獲授權的人完成驗證,或使用網站公開記載的 API、匯出功能或允許的自動化方式。同樣的規則也適用於 ego(lite)。瀏覽器設定檔可以保留合法的工作階段,但無法給你網站本來就沒有授予的權限。

Selenium 能爬取社群媒體而不被封鎖嗎?

沒有保證有效的解法。請優先使用公開頁面、平台 API 或匯出功能;以合理的頻率蒐集最少量的資料;快取結果;並遵守各平台的條款。未經明確的人工核准,不要自動按讚、追蹤、傳訊息、主動聯繫或變更帳號。ego(lite) 可以把經允許的唯讀研究隔離在一個 Space 裡,但它不是防封鎖服務。

如何在不儲存密碼的情況下,讓 Selenium 的 Chrome 工作階段保持登入?

只有在你的組織和網站都允許時,才使用專用、有存取控管的持久設定檔。不要讓 Selenium 指向別人正在使用的 Chrome 設定檔,也絕對不要把密碼、OTP 或復原碼寫進原始碼。對於有人監督的 Agent 工作,ego(lite) 會在初始設定時匯入一份瀏覽器狀態的副本,並在 MFA 或新的驗證步驟需要真人處理時暫停。

哪種 Selenium 替代方案適用於現代前端框架?

適合的選擇取決於工作內容。斷言與跨瀏覽器迴歸測試,繼續交給 Selenium 或其他測試框架,並使用由你的團隊掌控的語意化定位器或測試 ID。至於橫跨 hydration 頁面、shadow DOM 和不斷變動版面的互動式、由 Agent 驅動的工作,ego(lite) 讓 Agent 檢查當下渲染出的畫面,並以看得見的方式恢復,而不是依賴寫死的 XPath 腳本。

有適合手動測試人員的無程式碼 Selenium 替代方案嗎?

ego(lite) 支援在隔離的 Space 中、有人監督地以白話描述執行瀏覽器任務,所以手動測試人員可以描述一段範圍明確的流程,並在需要判斷時接手。它不會取代以程式碼撰寫的迴歸測試套件、斷言、核准流程或無障礙測試。當團隊需要在 CI 中可重複執行的程式碼時,Selenium 仍是更合適的選擇。

沒有 API 的舊系統,要怎麼自動化?

如果系統有瀏覽器介面,就用帶明確檢查點的瀏覽器自動化,並讓破壞性、涉及金流或身分的操作都經過人工核准。如果它是沒有瀏覽器介面的桌面或終端機應用程式,Selenium 和 ego(lite) 這類 DOM 工具就是錯誤的抽象層。請使用經核准的 RPA 或無障礙整合,並記錄每個步驟。

有工具能為 Selenium 產生穩定的 CSS 或 XPath 選擇器嗎?

產生器可以建議定位器,但沒有任何 CSS 或 XPath 能在一次次改版中永遠保持穩定。在你自己掌控的應用程式中,請優先使用無障礙名稱和刻意設計的測試 ID,讓選擇器保持簡短且有意義,並在多個元素同時符合時直接判定失敗(fail closed)。ego(lite) 會在執行時透過即時頁面快照選擇語意化的目標,同時也能受惠於同樣良好的標記約定。

ego(lite) 免費嗎,需要裝任何 driver 嗎?

ego(lite) 是可免費下載的本機瀏覽器,有它自己的系統需求和支援的 Agent 範圍。依照文件中的 /ego-browser 流程使用時,不需要 ChromeDriver、GeckoDriver 或 Grid。部署前請確認目前支援的 macOS、Windows 版本和 Agent,並把模型、主機和維護成本納入考量。

給你的 AI Agent 一個真實瀏覽器

免費,在你的電腦上執行,一鍵匯入你的 Chrome 個人設定檔。適用於 Claude Code、Codex、Cursor,以及任何會寫程式碼的 CLI AI Agent。