selenium、はまってしまう深い落とし穴

どうしてエラーになるの?

chromeブラウザのバージョンには注意

seleniumを使っていると、ある日突然エラーが出てスクレイピングができなくなることに遭遇します。
初めてこのエラーに遭遇するとエラーメッセージを見ても解決がなかなかできないことがあるかと思います。エラー遭遇時の解決方法を下記に記載いたします。
困ったときは、こちらをご確認ください。

表示されるエラーの例


unknown error: unexpected command response
  (Session info: chrome=103.0.5060.114)
  (Driver info: chromedriver=103.0.5060.53 (a1711811edd74ff1cf2150f36ffa3b0dae40b17f-refs/branch-heads/5060@{#853}),platform=Windows NT 10.0.19044 x86_64)

これは何のエラーか。見てすぐわかる人はすごいと思います。
いろいろと調べていくと、Chromeのバージョンがかかわっていることがわかってきます。

原因は、seleniumを実行しているPCに入っているChromeのバージョンと、selenium用のchromedriverのバージョンが違うために発生します。

解決方法
(1)chromeのバージョンを確認する
(2)(1)のバージョンのchrome用のseleniumをダウンロードする
(3)ダウンロードしたseleniumのchromedriverをインストールする

では、順を追って説明します。

(1)のバージョンはchromeのヘルプの中の「Google Chromeについて」を開きます。
すると、バージョンという項目があります。
こちらのバージョンをメモしておきましょう。

(2)seleniumのサイトにアクセスします。
こちらから(1)でメモしたバージョンのドライバを探してダウンロードします。

(3)(2)でダウンロードしたドライバをインストールします。
インストールするには、過去に既にseleniumを利用していて今お使いのPCで利用していた場合は、PCを再起動するか、タスクマネージャから「chromedriver」を終了します。
ここで、タスクマネージャの「chromedriver」を右クリックしてタスク終了を選んでも終了できない場合が多々あります。
そういう場合は、コマンドプロンプトから下記コマンドを実行します。


taskkill フルパスでchromedriver.exeを記述 /im

フルパスの部分には、seleniumのフォルダを指定します。
このコマンドを実行するとタスクマネージャからタスクが削除できます。

次にダウンロードしたドライバのインストールですが、seleniumがインストールされているフォルダに(2)でダウンロードしたファイルを設置します。
そしてダブルクリックして実行すると、successのようなメッセージが表示されます。
これでインストール完了です。

再度、エラーになっていたスクレイピングの実行をしてください。
今度はエラーとならず実行できると思います。

以上のように、seleniumで利用するchromedriverはchromeブラウザのバージョンに合わせて都度ダウンロード、インストールが必要となってしまいます。

スクレイピングは非常に便利で少しプログラムの知識があれば、容易に試すことができます。
自動化できるものを探すのも楽しいかもです。

おすすめの記事