ここでは「Python」で使用する「ChromeDriver-binary」のバージョン更新方法について紹介します。
この記事を読むことで
ChromeDriver-binaryのバージョン更新
seleniumと組み合わせた便利な機能
を知ることができます。
当サイトに訪れた方は、Pythonプログラムを実行したら
と表示され
と焦っているのではないでしょうか?
今回はこのバージョン違いによって動作しなくなった原因と対処方法について解説をします。
それでは始めていきましょう。
ChromeDriver only supports Chrome versionの対処方法
現在使っているChromeDriverのバージョン確認、Google Chromeのバージョン確認、バージョン対応の順に解説を行っていきます。
Chromedriver-binaryの現在のバージョンを確認する
まずはバージョン確認エラーを確認しましょう。
エラー内容は
と表示され「ChromeDriverはバージョン85しか対応していない」ということが分かります。
実際にインストールされているChromeDriverのバージョンを
で確認してみると、確かに
と分かります。
したがって、エラーの原因は
生じているものだと考えられます。
Google Chromeのバージョンを確認する
続いて、原因がバージョン違いということで「Google Chromeのバージョン」も確認してみます。
Google Chromeを開き
を選択しましょう。
すると、上図のようにGoogle Chromeのバージョンを確認することができます。
僕の使用しているGoogle Chromeは
と分かりますね。
ChromeDriverのバージョンと見比べると確かにバージョンが違うことがわかります。
サポートされているChromedriver-binaryをDLする
では早速Google ChromeのバージョンにあったChromeDriverをダウンロードしていきましょう。
ChromeDriver-binaryがサポートしていないバージョンということになります。
したがって
ダウンロードできたら、chromedriverのバージョンが更新されているかを
で確認し、更新が確認できたら再度プログラムを実行してみましょう。
無事、プログラムが動作すれば成功です。
おまけ~seleniumと組み合わせた便利機能
ここからはおまけ程度に、ChromeDriverを使うなら、この機能も使うと便利だよ!というものを記載しておきます。
(本音はミラーサイト対策ですが…(-ω-)/)
Chromeをヘッドレスモードで動作
chromedriverを扱う上で、必ず知っておいて欲しいのがこの「ヘッドレスモード」と呼ばれる動作方法です。
このモードで動作を実行すると
させることができます。
GoogleChromeのウィンドウを表示せずに動作させることの利点として
・モニターのスペースを余分に取らない・スクリーンショットの撮影が容易
・スローテスト問題(実行時間の影響)の軽減
などが挙げられます。
したがって、今後chromedriverを使った自動化・スクレイピングを続けるのであれば、是非覚えておきたい機能の一つになります。
ヘッドレスモードにする方法は簡単で
# coding: UTF-8 from selenium import webdriver from selenium.webdriver.chrome.options import Options import chromedriver_binary # chromedriverを指定 options = Options() #options.add_argument('--headless') #ヘッドレスモードで起動 #options.add_argument('--disable-gpu') #ヘッドレスモードで暫定的に必要 driver = webdriver.Chrome(chrome_options=options)
と記述することで可能となります。
動作確認をしてみると、確かに「chrome_options=options)」で実行されていることがわかります。
是非一度試してみてください。
GoogleChromeのウィンドウサイズの指定
chrome.optionsには、GoogleChromeを開く時のウィンドウサイズを予め指定することが可能です。
記述内容は
全画面表示:options.add_argument(‘–start-maximized’)表示サイズ指定:options.add_argument(‘–window-size=1920,1080’)
となります。
ヘッドレスモードではなく、指定画面サイズで動作を実行させたい場合はこちらを使うと便利かと思います。
ウィンドウサイズ指定時のプログラム
# coding: UTF-8 from selenium import webdriver from selenium.webdriver.chrome.options import Options import chromedriver_binary # chromedriverを指定 options = Options() options.add_argument('--start-maximized') #全画面で起動 #options.add_argument('--window-size=1920,1080') #1920×1080のウィンドウサイズで起動 driver = webdriver.Chrome(chrome_options=options)
今回は、ここまで!
chromedriverのバージョンについてご理解・満足頂ければ幸いです。
お疲れ様でした。