web-dev-qa-db-ja.com

selenium.common.exceptions.SessionNotCreatedException:メッセージ:セッションが作成されていません:このバージョンのChromeDriverはChromeバージョン80のみをサポートしています

コマンドプロンプトに移動して「chromedriver -v」と入力すると、

ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614})

しかし、このコードを実行しようとすると:

from Selenium import webdriver 
class InstaBot:
    def __init__(self):
        self.driver=webdriver.Chrome()
        self.driver.get("www.instagram.com")
InstaBot()

次のようなエラーが発生します:exception_class(message、screen、stacktrace)を発生させます

Selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 80

なぜこれが起こっているのですか?Seleniumとchromedriverを削除してバージョン79.0.3945を再インストールしようとしましたが、実行すると、これはバージョン80でしか実行できないことを示していますmy chrome version is 79.0最新の.3945、バージョン80 chrome is chrome beta

1
HARSH SINGH

このエラーメッセージ...

_Selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 80
_

...ChromeDriver v80.0が新しいBrowsing Contextを開始または生成できなかったことを意味しますつまりChrome Browserセッション。


主な問題は、使用しているバイナリのバージョン間の非互換性です。

  • chromedriver = 79.0.3945.36の使用について言及しましたが、chromedriver = 79.0のリリースノートには、次のことが明記されています。

サポートChrome v79

  • おそらくあなたはchrome v79.0ブラウザを使っています。
  • したがって、システム内にchromedriver = 80.0が存在し、システムPATH変数内にあり、 :

    _self.driver=webdriver.Chrome()
    _

解決

2つの解決策があります。

  • chromeChromeバージョン80.0レベルにアップグレードします。 ( ChromeDriver v80.0リリースノート に従って)
  • または、デフォルトのchromedriver v80.0バイナリの場所をchromedriver v79.0バイナリの場所は次のとおりです。

    _from Selenium import webdriver
    
    driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe')
    driver.get('http://google.com/')
    _

詳細な説明は buntu:Selenium.common.exceptions:session not created:This version of ChromeDriver only support Chrome version 79


その他の考慮事項

次のことを確認します。

  • クリーンyourプロジェクトワークスペースからyour[〜#〜] ide [〜#〜]およびRebuild必要な依存関係のみでプロジェクトを再構築します。
  • ベースWebクライアントのバージョンが古すぎる場合は、アンインストールして、最新のGAおよびリリースされたバージョン)をインストールします。 Webクライアント
  • System Rebootを実行します。
  • _@Test_をnon-rootユーザーとして実行します。
  • WebDriverおよびWebクライアントを閉じて破棄するには、常にdriver.quit()メソッド内でtearDown(){}を呼び出しますインスタンスを優雅に。

参照

関連する詳細なディスカッションは次の場所にあります。

2
DebanjanB

プロジェクトでBonigarciaプラグインを使用します。その後、すべてのドライバーを単独で管理します。chrome versionを読み取り、それに応じてドライバーをインスタンス化します。

助けを求めて私の投稿をフォローする: https://www.linkedin.com/Pulse/webdrivermanager-bonigarcia-rohan-ravi-yadav/

または元のgit link/post https://github.com/bonigarcia/webdrivermanager

ヘルプが必要な場合は、お知らせください

0