@pisuketi

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

chromedriver116

解決したいこと

chromedriverを実行させたい。

例)
chromedriverとchromeのバージョンが違うとのエラーが出ため、chromedriver116をインストールしました。
しかしchromedriverは114であり、chromeは116である為、実行出来ないとのエラーが発生します。

それまでは
chrome115
chromedriver115
で問題なく動作していました。
不必要なchromedriverを全て削除し、116のみ残しローカルディスクに保存
PATH変数もC:¥chromedriver
を追加し実行してみても
chromedriverのサポートが114でありchromeが116であるため実行出来ないとのエラーが出てしまいます。

chromeをダウングレードせずに解決出来る方法はありますでしょうか?

0 likes

2Answer

Comments

  1. @pisuketi

    Questioner

    ありがとうございます。
    今インストールしてあるものが、添付いただいたURLのwin64の物です。
    インストールしてある物を確認すると間違いなく、versionは116なのですが
    Chromeとchromedriverのバージョンに互換性がないとエラーが出てしまいます。

  2. ↓こちらのブログによると、Chromeのバージョン番号と、ChromeDriverのバージョンは完全に一致してなくてもよいと書いてあるけど・・・
    パスは通してますよね。

  3. @pisuketi

    Questioner

    パスは通してるつもりだったのですが、環境変数を見ると追加したはずの変数が消えており理由が分からなかったので、フルパスを指定してみたのですが下記のエラーが出ます。
    Incompatible release of chromedriver (version 116.0.5845.96) detected in PATH: C:\Users\user\Desktop\python3\chromedriver.exe DevTools listening on ws://127.0.0.1:50113/devtools/browser/e2175c34-daa4-45e9-99d8-631c5144a3d4 Traceback (most recent call last): File "C:\Users\user\Desktop\python3\ct.py", line 10, in driver = webdriver.chrome.webdriver.WebDriver(service=service) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 49, in init super().init( File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 54, in init super().init( File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 206, in init self.start_session(capabilities) File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 291, in start_session response = self.execute(Command.NEW_SESSION, caps)["value"] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 346, in execute self.error_handler.check_response(response) File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 245, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114 Current browser version is 116.0.5845.111 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe

    上の方ではchromedriverは116という風に出ているのですが、下の方にはchromedriverが114のサポートでたるため、116のchromeでは実行出来ないと言った様な事が書いてあります。

  4. 謎ですねー
    seleniumを使っていますか?
    エラーが起きるコードを掲示できるでしょうか?

    コードとかコマンドの実行結果などは、コードブロックを使ってくださいね。

  5. @pisuketi

    Questioner

    すいません。
    コードブロックという物を知りませんでした。
    教えていただき、ありがとうございます。
    こちらがコードです

    SeleniumでChromeを開始するサンプルコード

    以下は、指定したパスのChromeDriverを使ってGoogleのトップページを開き、そのタイトルを表示するPythonのサンプルコードです。

    from selenium import webdriver
    
    # ChromeDriverのフルパスを指定
    driver_path = "C:\\Desktop\\python3\\chromedriver.exe"
    
    # ChromeDriverのサービスを作成
    service = webdriver.chrome.service.Service(driver_path)
    
    # ChromeDriverを開始
    driver = webdriver.chrome.webdriver.WebDriver(service=service)
    
    # 以降、通常通りSeleniumのコードを記述
    driver.get('https://www.google.com')
    print(driver.title)
    driver.quit()
    
  6. ↓パスは正しいですか? ls(dir)で確認してください。

    driver_path = "C:/Desktop/python3/chromedriver.exe"
    

    ↓こう変えたらどうでしょうか?
      # ChromeDriverを開始
    -  driver = webdriver.chrome.webdriver.WebDriver(service=service)
    +  driver = webdriver.Chrome(service=service)
    
  7. @pisuketi

    Questioner

    パスは間違えていたので修正しました。

    #chromedriverを開始
    

    のところも変更しましたが、同じエラーになりました。
    chromeのversion116.0.5845.96
    というのは特に問題なさそうでしょうか?
    このdriverが114をサポートしていると出ている原因なのか、114のdriverがどこかにあるのかが分からなく困っております。
    当方プログラムは2ヶ月前に始めたので、専門的なやり取りが出来ず申し訳ありません。

  8. @pisuketi

    Questioner

    path変数の追加方法を間違えていた様です。
    変数追加で無事に動作しました。
    ご指導ありがとうございました。

  9. 無事に動作したということで、よかったですね。
    解決であれば、当Q&Aをクローズしてください。

私の環境ですと、以下で動作しました。

from selenium import webdriver

chrome = webdriver.Chrome()

chrome.get('https://www.google.com')
print(chrome.title)
chrome.quit()
0Like

Comments

  1. @pisuketi

    Questioner

    ありがとうございます。
    このコードで動作はしたのですが、指定のプロファイルでChromeを開き動作させる方法までが分かりません。
    プログラム自体2ヶ月前に始めたので、どう質問してよいのか分からず申し訳ありません。

  2. seleniumからの利用ならwebdriverの管理はwebdrivermanagerに投げるというのはどうでしょうか
    https://github.com/SergeyPirogov/webdriver_manager

    ex.py
    # selenium 4
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service as ChromeService
    from webdriver_manager.chrome import ChromeDriverManager
    
    driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
    

Your answer might help someone💌