Selenium でブラウザを操縦するには WebDriver も忘れずに!
Web ブラウザをプログラムから操作・操縦するライブラリの老舗である Selenium と、その .NET 用バインディングの NuGet パッケージの話。
using
OpenQA
.
Selenium
;
using
var
driver
=
new
OpenQA
.
Selenium
.
Chrome
.
ChromeDriver
();
driver
.
Navigate
().
GoToUrl
(
"https://www.bing.com/"
);
で、このプログラムをビルドして実行すると、よくあることとして、以下のエラーに遭遇することがある。
The path to the driver executable must be set by the webdriver.chrome.driver
system property; for more information, see https://chromedriver.chromium.org/. The latest version can be
downloaded from https://chromedriver.chromium.org/downloads
なぜこのようなエラーが発生するのかというと、実は Selenium によるブラウザの操縦にあたっては、Selenium のライブラリ本体とは別に、Chrome や Edge、Firefox といったブラウザ種別に応じた「ウェブドライバー (WebDriver)」という "プログラム" (実行可能ファイル、Windows なら .exe) を、別途事前にダウンロードしておき、実行可能なフォルダパスに配置しておく必要があるのだ。
Selenium に慣れていればどうということもないのだろうが、初見殺しとでも言えば良いのか、初心者の心臓には悪い話である。
で、.NET プログラミングの場合は、以下の NuGet パッケージを更にプロジェクトに追加しておくと、出力フォルダに各ブラウザ種別に応じた WebDriver が配置されるようになる。