Selenium: Webブラウザ操作ツール

Selenium とは

Selenium (セレニウム) は、Webブラウザを外部から操作するツールです。 ユーザによる入力を模倣することができるので、Webサイト(Webアプリケーション)のテストに使われます。

Webサイトにアクセスする際に実際のWebブラウザを使うことから、 動的に更新されるWebページをスクレイピングするといった用途にも使うことができます。

Selenium の導入 (Java)

Selenium Client & WebDriver Language Bindings

Maven の利用

プロジェクト管理ツールである Maven が利用可能な状態であれば、 設定ファイルである pom.xml に以下を追記します。 これにより、依存関係のある全てのライブラリがプロジェクトに登録されます。

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
</dependency>

パッケージのダウンロード

Maven が利用できない場合、 公式サイトの「Selenium Client & WebDriver Language Bindings」から Java 用のものをダウンロードすることができます。

アーカイブファイル (zip) に含まれる jar ファイルすべてを プロジェクトに登録する必要があります。

ブラウザ用ドライバ

Selenium で操作するブラウザ用の WebDriver が必要です。 Google Chrome 用の WebDriver である ChromeDriver が以下のページで配布されています。

インストールされている Google Chrome の version によって、ダウンロードするものが異なります。 Chorme の version は Chrome の 「ヘルプ」→「Google Chrome について」で確認できます。

Windows の場合、適切な version の chromedriver_win32.zip をダウンロードします。 展開すると chromedriver.exe が現れるので、 これをプロジェクトフォルダ内のどこかに置きます(以下では bin というフォルダ内に置いたとします)。

Selenium の利用

公式サイトに API の Javadoc があります。

サンプル

Google Chrome で Google 検索をすると、コンテンツが動的に読み込まれます。

「遊園地」「テーマパーク」「レストラン」「ラーメン屋」などのスポットを表す語で検索したときに、 近隣のスポット一覧が表示されます。これを取得してみます。

GoogleLocalSearcher.java

Spot.java

参考ページ