はじめに
「Seleniumを使ってGoogle Chromeを自動化したい!」
でも、調べてみると 「WebDriver」と「ChromeDriver」 という用語が出てきて、何が違うのか分からない…という人も多いのではないでしょうか?
実は、Chromeを自動操作するためには「WebDriver」と「ChromeDriver」の両方が必須 なんです!
この記事では、初心者でも理解できるように 「WebDriver」と「ChromeDriver」の違い を分かりやすく解説します。
最後には、実際にSeleniumでChromeを自動操作する方法 も紹介するので、ぜひ試してみてください!
WebDriverとは?
WebDriver = ブラウザを操作するための指示役
WebDriver は、Selenium のプログラムから 「ブラウザを操作する命令」 を送るための仕組みです。
例えば、人がブラウザを操作するときは…
- Google Chrome を開く
- URLを入力してWebページを開く
- ボタンをクリックする
- テキストを入力する
このような操作を、プログラム(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 の違いまとめ
項目 | WebDriver | ChromeDriver |
---|---|---|
役割 | 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 を操作する手順
- Google Chrome をインストール
- 公式サイト から Chrome をインストール(すでにある場合はOK)
- Selenium をインストール(NuGetを使用)
- C# プロジェクトで以下のコマンドを実行
d
- 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 の自動化ができる ので、ぜひ試してみてください!