Seleniumでクロームバージョン相違時に自動更新させる方法【C#】

C#

Seleniumにて、ドライバのバージョンとローカルのバージョンが相違しているとエラーが発生してしまう。クロームは基本的に自動更新されていくので、主にドライバが古くて起こるケースが殆どの模様。ならば検知してドライバを自動更新しちゃおう!って処理を追加してみた話し

スポンサーリンク

Seleniumとは?

Seleniumは、Webアプリケーションをテストするためのポータブルフレームワークです。 Seleniumは、テストスクリプト言語を学ぶ必要なく機能テストを作成するための再生ツールを提供します

 ウィキペディア(英語)

要はウェブブラウザ(クロームやらFireFoxやら)を自動化して色々やっちゃおうってフレームワークです。
で、今回の話に至る前に以前こんなん作ってみたんです?

しばらく放置しちゃってたんですけども、ひさびさに無在庫転売でもやるかなと思って起動してみたらば、、、

session not created: This version of ChromeDriver only supports Chrome version 76 (SessionNotCreated)
こんなエラーが出てログイン出来なかった訳です。

これはドライバはバージョン76だけどローカルのバージョンは違いますよ!と言う事。そもそもキャッチしてなくてエラーで落ちちゃうお粗末仕様だったので施した対策を下記に備忘録

try-catchでクロームバージョン取得&最新ドライバダウンロード

取り合えず該当箇所のエラーを拾い、ドライバのバージョンとローカルのバージョンをメッセージで出す事に。

↓中で呼ぶ関数。単純にレジストリ見てバージョンを拾います。

これで取り合えずエラー更新するかどうかの確認メッセージを出し、ドライバファイルのダウンロード迄行いました。

本当は上書きさせたかったんだけどどうやっても使用中になってしまい断念したのは秘密です…

自分でバージョン確認を行う方法

ブラウザ上で右上の点々をクリックし、左下のChoromeについてを押す事でクロームのバージョンの確認が出来ます。

ドライバもダブルクリックで起動するとコンソールで確認が出来るようになっています。

もしクロームのバージョンにドライバが追い付いていなかった場合は、自身のクロームバージョンをダウングレードするか、
Selenium開発者たちにDONATEでもして望みを託しましょう…(ᵔᴥᵔ)

コメント

  1. はまみ はまみ より:

    Thank you for watching(ᵔᴥᵔ)