PowerShellでSelenium(セレニウム)が使えない

スポンサーリンク

先日、ブラウザのオートメーションツールであるSelenium(セレニウム)の存在を知り、興味が湧いたので早速、試してみました。「selenium」と「ChromeDriver」をインストールしてPowerShellから実行するといきなりエラーが表示されました。

New-Object : "1" 個の引数を指定して ".ctor" を呼び出し中に例外が発生しました: "session not created: This version of ChromeDriver
 only supports Chrome version 84 (SessionNotCreated)"
発生場所 行:7 文字:11
+ $driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver(Convert-Path ...
+           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [New-Object]、MethodInvocationException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObject 
   Command
 
null 値の式ではメソッドを呼び出せません。
発生場所 行:10 文字:1
+ $driver.Manage().Timeouts().ImplicitWait= [System.TimeSpan]::FromSeco ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) []、RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
null 値の式ではメソッドを呼び出せません。
発生場所 行:13 文字:1
+ $driver.Navigate().GoToUrl("http://yahoo.co.jp")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) []、RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

エラー内容を見るとChromeのバージョンは84でないと駄目とのこと。そういえば、ChromeDriverをダウンロードする時、安易に最新バージョンを選んでいましたが、PCにインストールされているChromeのバージョンと一致させないと駄目なんですね。バージョンを確認すると83でした。

その後、自動的に84にバージョンアップされました。そして無事Seleniumを使うことができました。ブラウザのバージョンがここまで厳密に指定されているツールはあまり経験したことがなかったので初めて使用する場合は注意が必要ですね。

コメント