コマンドプロンプトに移動して「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
このエラーメッセージ...
_Selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 80
_
...ChromeDriver v80.0が新しいBrowsing Contextを開始または生成できなかったことを意味しますつまりChrome Browserセッション。
主な問題は、使用しているバイナリのバージョン間の非互換性です。
サポートChrome v79
したがって、システム内にchromedriver = 80.0が存在し、システムPATH
変数内にあり、 :
_self.driver=webdriver.Chrome()
_
2つの解決策があります。
または、デフォルトの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/')
_
次のことを確認します。
@Test
_をnon-rootユーザーとして実行します。driver.quit()
メソッド内でtearDown(){}
を呼び出しますインスタンスを優雅に。関連する詳細なディスカッションは次の場所にあります。
プロジェクトでBonigarciaプラグインを使用します。その後、すべてのドライバーを単独で管理します。chrome versionを読み取り、それに応じてドライバーをインスタンス化します。
助けを求めて私の投稿をフォローする: https://www.linkedin.com/Pulse/webdrivermanager-bonigarcia-rohan-ravi-yadav/
または元のgit link/post https://github.com/bonigarcia/webdrivermanager
ヘルプが必要な場合は、お知らせください