OSS探訪

Selenium — W3C WebDriverでreal browserをcodeから自動操作する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
34,502
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/20

概要

Seleniumは、W3C WebDriver specificationを実装するbrowser automation framework/ecosystemです。Chrome、Firefox、Edgeなどのreal browserをJava、Python、JavaScript、.NET、Ruby等から操作し、E2E testやbrowser-based automationを実行できます。複数node/browserを扱うSelenium Gridも含みます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

W3C WebDriver経由でmajor browserを操作する

browser vendorが提供するWebDriver interfaceを通じ、navigation、element操作、form input、window/tabなどをcodeから制御できます。

出典:[2][4]

複数languageとGridでbrowser testを拡張する

Java、Python、JavaScript、.NET、Ruby等のbindingを持ち、Gridを使ってbrowser/version/OSの組み合わせを並列実行できます。

出典:[2][4]

real browserでuser flowをend-to-end検証したい場合に

login、form送信、navigationなどbrowser上の実際のinteractionをrelease前に自動確認したいWeb applicationに向きます。

出典:[2][4]

E2E test特有のflakinessと実行costを管理する

UI locatorやtiming依存が増えるとtestが不安定になります。unit/component testで済む範囲までbrowser testへ持ち込まず、explicit wait・stable locator・test data isolationを設計してください。

出典:[4]

参考にした公式資料

  1. [1]SeleniumHQ/selenium repository(2026-09-20)
  2. [2]Selenium README(2026-09-20)
  3. [3]Selenium Apache-2.0 license(2026-09-20)
  4. [4]Selenium documentation(2026-09-20)
編集部からの補足

Playwright等と比較すると歴史が長く、W3C WebDriverというbrowser標準interfaceを中心に多言語・主要browserへ対応するのが特徴です。UI変更やnetwork timingの影響を受けやすいため、unit testではなくend-to-end境界へ絞り、stable locatorと明示的waitを使うと保守しやすくなります。

3ステップで試す

  1. 1

    Selenium Python bindingを導入

    ChromeまたはChromiumが入った検証環境へSeleniumを導入します。driver解決はSelenium Managerに任せられます。

    python -m pip install selenium
  2. 2

    headless browserをlocal data URLで起動

    外部siteへ接続せず、real Chrome/Chromiumをheadlessで起動してWebDriver操作を確認します。

    python -c 'from selenium import webdriver; from selenium.webdriver.chrome.options import Options; o=Options(); o.add_argument("--headless=new"); d=webdriver.Chrome(options=o); d.get("data:text/html,<title>demo</title><h1>Hello</h1>"); print(d.title); d.quit()'
  3. 3

    自分のlocalhost appへ置き換える

    element locatorとexplicit waitを追加し、自分で管理するWeb applicationのuser flowをE2E testへ広げます。

    Replace the data: URL with http://127.0.0.1:<port> for your own test app
公式READMEで確認

成長

成長の推移 · 直近30日

34,502 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
173
Open PR
87
Issue登録
51
Issue解決
58
PR登録
298
PRマージ
260

Issues

51 / 58

6月23日9月20日
Issue登録Issue解決

Pull Requests

298 / 260

6月23日9月20日
PR登録PRマージ

メンテナンス状況

Issue初回応答中央値
0分
Issue応答率
75% (24/32)

直近90日に外部から作成されたIssue(新しい順に最大100件)が対象です。OWNER・MEMBER・COLLABORATORによる最初のコメントを応答とし、全コメントを確認できないIssueは集計から除外します。中央値と応答率は週次更新です。

Built with

カテゴリとタグ

カテゴリ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • selenium
  • webdriver
  • java
  • ruby
  • python
  • javascript
  • dotnet
  • rust
Stars
34,502
Forks
8,717
Watchers
1,249
Open Issues
102
Contributors
403
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/20

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。