seleniumbase/SeleniumBase

Browser automation, web scraping, and testing. CDP Mode provides a Stealthy Chromium instance that bypasses bot-detection systems. Includes an MCP server.

解決的問題

SeleniumBase 是一個旨在簡化網路爬取、抓取和端到端(E2E)測試的一體化瀏覽器自動化框架。它透過提供更直觀的 API、整合 pytest 等測試執行器,以及繞過經常阻擋自動化腳本的機器人偵測系統的高級功能,解決了原生 Selenium 的複雜性。

運作原理

它基於 Selenium/WebDriver API 構建,但增加了一層便捷的高層方法。它具有幾種專門模式:

  • CDP 模式: 使用 Chrome DevTools Protocol 來繞過基於 Chromium 的瀏覽器中的機器人偵測。
  • UC 模式 (Undetected-Chromium): 專門設計用於避免被 Cloudflare 等服務偵測。
  • Stealthy Playwright 模式: 將 CDP 模式的隱身功能擴展到 Playwright 函式庫。

該框架自動處理元素的可見性和可互動性,偵測選擇器類型(CSS 與 XPath),並包含一個內建的驅動程式管理器,以自動處理瀏覽器驅動程式版本。

適用對象

  • QA 工程師: 用於使用 pytest 建立可靠、快速且易於使用的 E2E UI 測試。
  • 網路爬蟲開發者: 用於從採用積極機器人偵測的網站中提取資料。
  • 自動化開發人員: 適用於需要 Python Chromium 自動化綜合工具集的人員。

亮點

  • 繞過機器人偵測: 專門模式(CDP 和 UC)用於導航阻擋自動化的網站。
  • 整合測試: 原生支援 pytest,並配有用於結構化測試的專用 BaseCase 類別。
  • 簡化的 API: 組合操作(例如,type() 在單一呼叫中處理等待、清除和輸入)。
  • 驗證碼解決: 包含 sb.solve_captcha() 以處理無法自動繞過的挑戰。
  • 多瀏覽器支援: 相容於 Google Chrome、Chromium、Edge 和 Brave。

相關

  • 專案
  • 專案
  • 專案
  • 專案