【初心者向け】WebDriverとChromeDriverの違いを分かりやすく解説!SeleniumでChromeを自動操作しよう

はじめに

Seleniumを使ってGoogle Chromeを自動化したい!
でも、調べてみると 「WebDriver」と「ChromeDriver」 という用語が出てきて、何が違うのか分からない…という人も多いのではないでしょうか?

実は、Chromeを自動操作するためには「WebDriver」と「ChromeDriver」の両方が必須 なんです!

この記事では、初心者でも理解できるように 「WebDriver」と「ChromeDriver」の違い を分かりやすく解説します。
最後には、実際にSeleniumでChromeを自動操作する方法 も紹介するので、ぜひ試してみてください!

WebDriverとは?

WebDriver = ブラウザを操作するための指示役

WebDriver は、Selenium のプログラムから 「ブラウザを操作する命令」 を送るための仕組みです。

例えば、人がブラウザを操作するときは…

  1. Google Chrome を開く
  2. URLを入力してWebページを開く
  3. ボタンをクリックする
  4. テキストを入力する

このような操作を、プログラム(Selenium)から指示を出して実行する のが「WebDriver」の役割です。

しかし!WebDriver だけでは Chrome を動かせません!
そこで登場するのが 「ChromeDriver」 です。

ChromeDriverとは?

ChromeDriver = Chrome を動かすための専用ドライバー

WebDriver は 「命令を出すだけ」 で、直接 Chrome を操作できません。
そこで、WebDriver の命令を受け取って Chrome を動かす のが ChromeDriver です。

つまり、Chrome を自動化するには WebDriver と ChromeDriver の両方が必要!

📌 イメージ図

markdownコードをコピーするSelenium(プログラム)
    ↓ 命令を出す
WebDriver(指令役)
    ↓ Chrome用に変換
ChromeDriver(専用ドライバー)
    ↓ 実際に動かす
Google Chrome(ブラウザ)

例えば、WebDriver が 「Googleを開け!」 という指示を出したら、ChromeDriver がそれを受け取って、実際に Chrome で https://www.google.com」 を開いてくれる、という流れになります。

WebDriver と ChromeDriver の違いまとめ

項目WebDriverChromeDriver
役割Selenium からブラウザへ命令を送るWebDriver の命令を受け取り Chrome を操作する
インストール方法NuGetでインストール(Seleniumライブラリの一部)Selenium Manager で自動インストール or 手動でダウンロード
ブラウザどのブラウザにも対応(Chrome, Firefox, Edge など)Chrome 専用
必須?✅ 絶対に必要✅ Chrome を動かすなら必要

Selenium 4.6 以上なら「ChromeDriverの手動インストール不要」

Selenium 4.6 以降では「Selenium Manager」が追加され、ChromeDriver を自動でインストール・更新 してくれるようになりました!
そのため、基本的に Selenium をインストールすれば OK です。

📌 Selenium を使って Chrome を操作する手順

  1. Google Chrome をインストール
    • 公式サイト から Chrome をインストール(すでにある場合はOK)
  2. Selenium をインストール(NuGetを使用)
    • C# プロジェクトで以下のコマンドを実行
    shコードをコピーするd
  3. ChromeDriver を自動取得し、Chrome を開くコード
otnet add package Selenium.WebDriver --version 4.17.0

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

class Program
{
    static void Main()
    {
        // ChromeDriverを自動取得
        IWebDriver driver = new ChromeDriver();

        // Googleを開く
        driver.Navigate().GoToUrl("https://www.google.com");

        // 現在のページタイトルを表示
        Console.WriteLine("ページタイトル: " + driver.Title);

        // ブラウザを閉じる
        driver.Quit();
    }
}

📌 このコードを実行すると、Selenium Manager が自動で ChromeDriver をダウンロード・更新してくれます!

まとめ

Selenium で Chrome を自動化するには「WebDriver」と「ChromeDriver」が両方必要!
WebDriver は「ブラウザを操作する命令を送る役割」
ChromeDriver は「WebDriver の命令を受け取り、実際に Chrome を動かす役割」
Selenium 4.6 以降なら「ChromeDriver の手動インストール不要」!

Selenium Manager を使えば、Selenium のコードを書くだけで Chrome の自動化ができる ので、ぜひ試してみてください!

PVアクセスランキング にほんブログ村