Powershellでブラウザ自動化(Selenium)

プログラミング研修の中で、受講生のプログラムの確認・評価。
プログラムはWebプログラムで、
課題仕様通りに作られているかの確認を40~50人分する必要があり、
評価基準も一定にしたい&時間を掛けずに評価を終わらせたい。

Excel&VBAでも使ったSeleniumをPowershellで使ってみることにした。
環境構築・準備と簡単な操作コードをメモ書き。

環境情報

OS:Windows11
Powershell:Version 5.1.**
Webブラウザ:Google Chrome

ちなみに評価するプログラムはJSP Servletで作られたWebプログラム。
PowershellはOSに標準インストールされているものだったので、特に準備はしていない。

準備

PowershellからSeleniumを使ってChrome操作をするには、
Seleniumのライブラリと、Chrome用のドライバーが必要。

●Seleniumのライブラリ
ここからダウンロード。
C#用のライブラリを使うので、C#用のファイルをダウンロードする。
NuGetパッケージとしてダウンロードしてきて、拡張子をzipに変更して解凍。

●Chromeドライバー
ここからダウンロード。
基本は最新版をダウンロードすれば良いと思うが、操作するChromeのバージョンに合わせる。
Chromeは自動更新でバージョンが上がっていくので、ドライバーも更新が必要になる。

ダウンロードしたライブラリとドライバーは
Cドライブ以下にフォルダを作って保存しておく。
Cドライブ以外に置くと、dotNetのセキュリティポリシー変えないとエラーが出る。

ライブラリのロードと起動

ここからはPowershell。

ライブラリを読み込み、Chromeドライバーの場所を渡してSeleniumを起動させる。
Powershellが終了すると、Seleniumのウィンドウも閉じてしまうので、
起動確認にはポーズでも追加が必要。

Selenium操作の一部

ここまででSeleniumウィンドウの起動ができたので、
指定URLへ遷移と、画面要素の取得、キー入力のサンプル。

その他の操作をしたい場合は、ライブラリのdocumentを参照するのが良いかと。
API Documentはライブラリのダウンロードページにあります。

コメント