Selenium (セレニウム) は、Webブラウザを外部から操作するツールです。 ユーザによる入力を模倣することができるので、Webサイト(Webアプリケーション)のテストに使われます。
Webサイトにアクセスする際に実際のWebブラウザを使うことから、 動的に更新されるWebページをスクレイピングするといった用途にも使うことができます。
プロジェクト管理ツールである 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 の所在は以下のページでわかります。
PCにインストールされている Google Chrome は、通常、安定版(Stable) です。 あらかじめ最新版に更新しておいてください。 Chorme の version は Chrome の 「ヘルプ」→「Google Chrome について」で確認できます。
Stable の表で、chrome ではなく chromedriver の適切な Platform の行を確認します。 Windows であれば win64、Mac であれば mac-arm64 または mac-x64 です。 zip ファイルの URL が記述されていますので、そこからダウンロードします。 zip ファイルを展開すると chromedriver.exe (Mac の場合は chromedriver )が現れますので、 これをプロジェクトフォルダ内のどこかに置きます(以下では bin というフォルダ内に置いたとします)。
Mac の場合、初回起動時は chromedriver が実行できません。 初回起動後、システム環境設定 → セキュリティとプライバシー → 一般 → ダウンロードしたアプリケーションの実行許可 → このまま許可、 として再度実行します。
公式サイトに API の Javadoc があります。
Google Chrome で Google 検索をすると、コンテンツが動的に読み込まれます。
「遊園地」「テーマパーク」「レストラン」「ラーメン屋」などのスポットを表す語で検索したときに、 近隣のスポット一覧が表示されます。これを取得してみます。
抜き出す要素を特定するには、Google Chrome のデベロッパー ツール (メニュー -> その他のツール、もしくは Ctrl + Shift + i) の Elements タブを利用するとよいでしょう。 要素を右クリックし、Copy -> Copy XPath または Copy full XPath とすることでクリップボードにその要素の XPath がコピーされます。