WebDriverを経由してMicrosoft Edgeの操作を自動化することができれば、これまで人が作業していた部分を大幅に自動化できる。ただし、WebDriverで操作可能なMicrosoft Edgeを毎回問題なく起動するには、Microsoft Edgeとバージョンを一致させたドライバが必要になる。毎回手動でドライバを一致させるのは手間なので、まずこの部分を自動的に処理するスクリプトを作ろう。

WebDriver経由でMicrosoft Edgeを起動する手順

WebDriver経由でMicrosoft Edgeを起動するには、PowerShellにSeleniumモジュールをインストールする必要がある。まずは次のようにInstall-Moduleコマンドレットを実行し、PowerShell Seleniumモジュールをインストールする。

Install-Module -Name Selenium -AllowPrerelease -Force

プレビュー版をインストールすることになるので「-AllowPrerelease -Force」というパラメータを指定しているのがポイントだ。

次に、その時点でインストールされているMicrosoft Edgeのバージョンと同じバージョンのWebDriverドライババイナリを用意する必要がある。それには、バージョン情報を取得しなければならない。方法はいくつかあるが、簡単なのは次のようにディレクトリ名を使う方法だと思う。

PS C:\Users\daichi> Get-ChildItem -Name 'C:\Program Files (x86)\Microsoft\Edge\Application\'
107.0.1418.35
SetupMetrics
delegatedWebFeatures.sccd
msedge_proxy.exe
msedge.exe
msedge.VisualElementsManifest.xml
pwahelper.exe
PS C:\Users\daichi>

「C:\Program Files (x86)\Microsoft\Edge\Application\」以下には、そのMicrosoft Edgeのバージョン番号と同じ名前のディレクトリが作成されている。これをそのまま使うのだ。PowerShellでは、次のように実行すれば該当するバージョン番号だけを得ることができる。

PS C:\Users\daichi> Get-ChildItem -Name 'C:\Program Files (x86)\Microsoft\Edge\Application\' | Where-Object { $_ -NotMatch "[a-zA-Z]+" }
107.0.1418.35
PS C:\Users\daichi>

バージョン番号がわかったら、このバージョンに対応したWebDriverバイナリをダウンロードする。ドライバは「https://msedgedriver.azureedge.net/バージョン番号/edgedriver_win64.zip」といったURLで取得できるようになっている。

  • https://msedgedriver.azureedge.net/の閲覧結果

    https://msedgedriver.azureedge.net/の閲覧結果

  • さまざまなバージョンおよびOS向けのWebDriverバイナリが置いてある

    さまざまなバージョンおよびOS向けのWebDriverバイナリが置いてある

  • ダウンロードする

    ダウンロードする

WebDriverのドライババイナリはどこにデプロイしてもよいのだが、今回のようにPowerShell Seleniumモジュールを使う場合には、デフォルトで「C:\Users\ユーザー名\Documents\powershell\Modules\Selenium\4.0.0\assemblies\」の「msedgedriver.exe」が使われるようになっているので、そのままこのファイルを上書きしてしまえばよいだろう。

PS C:\Users\daichi> dir .\Documents\powershell\Modules\Selenium\4.0.0\assemblies\

    Directory: C:\Users\daichi\Documents\powershell\Modules\Selenium\4.0.0\assemblies

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2022/10/13    13:19                linux
d----          2022/10/13    13:19                macos
-a---          2022/09/24     4:50       12095488 chromedriver.exe
-a---          2021/03/07    14:57             65 chromedriver.exe.sha256
-a---          2021/03/07    14:57        3531472 geckodriver.exe
-a---          2021/03/07    14:57             65 geckodriver.exe.sha256
-a---          2021/03/07    14:57        3420672 IEDriverServer.exe
-a---          2021/03/07    14:57             65 IEDriverServer.exe.sha256
-a---          2022/10/10     6:48       15723472 msedgedriver.exe
-a---          2021/03/07    14:57             65 msedgedriver.exe.sha256
-a---          2021/03/07    14:57        1783808 WebDriver.dll
-a---          2021/03/07    14:57             65 WebDriver.dll.sha256
-a---          2021/03/07    14:57          52224 WebDriver.Support.dll
-a---          2021/03/07    14:57             65 WebDriver.Support.dll.sha256

PS C:\Users\daichi>

先ほどダウンロードしてきたzipファイルを展開すると、中にWebDriverのバイナリファイルが入っている。これを~\Documents\powershell\Modules\Selenium\4.0.0\assemblies\にコピーしてファイルを上書きしてしまえば準備は完了だ。

WebDriver経由でMicrosoft Edgeを起動する

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら