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は、Webクローリング、スクレイピング、およびエンドツーエンド(E2E)テストを簡素化するために設計されたオールインワンブラウザ自動化フレームワークです。生のSeleniumの複雑さを解消し、より直感的なAPI、pytestなどの統合テストランナー、そして自動化スクリプトをブロックしがちなボット検出システムを回避するための高度な機能を提供します。

動作原理

Selenium/WebDriver APIを基盤としつつ、利便性のある高レベルのメソッド層を追加しています。いくつかの専門的なモードを備えています:

  • CDPモード: Chrome DevTools Protocolを使用して、Chromiumベースのブラウザでのボット検出を回避します。
  • UCモード (Undetected-Chromium): Cloudflareなどのサービスによる検出を回避するために特化して設計されています。
  • Stealthy Playwrightモード: CDPモードのステルス機能をPlaywrightライブラリに拡張します。

このフレームワークは、要素の可視性とインタラクティブ性を自動的に処理し、セレクタの種類(CSSとXPath)を検出するとともに、ブラウザドライバーのバージョンを自動的に管理する組み込みドライバーマネージャーを備えています。

対象ユーザー

  • QAエンジニア: pytestを使用して、信頼性が高く、高速で簡単なE2E UIテストを作成するために。
  • Webスクレイパー: 積極的なボット検出を採用しているウェブサイトからデータを抽出するために。
  • 自動化開発者: PythonによるChromium自動化に包括的なツールセットが必要な方々に。

ハイライト

  • ボット検出の回避: 自動化をブロックするサイトをナビゲートするための専門モード(CDPおよびUC)。
  • 統合テスト: 構造化されたテストのための専用BaseCaseクラスを備えたpytestのネイティブサポート。
  • 簡素化されたAPI: 統合されたアクション(例:type()は待機、クリア、入力を1回の呼び出しで処理)。
  • CAPTCHA解決: 自動的に回避されないチャレンジに対応するsb.solve_captcha()を含む。
  • マルチブラウザ対応: Google Chrome、Chromium、Edge、Braveと互換性あり。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト