Seleniumを使用してウェブクローラーを作成しようとしていますが、webdriverオブジェクトを作成しようとすると、このエラーが発生します。
Selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 6.1.7601 SP1 x86_64)
chromedriver (2.45)の最新バージョンをダウンロードしましたChrome 70-73。現在のChromeバージョンは68.0.3440.106です。 (公式ビルド)(64ビット)、最新です。「古い」 chrome version (71)をダウンロードしてみましたが、インストールしようとすると、インストーラーに新しいバージョンがあることが示されましたすでにインストールされています。
ウェブサイトに記載されているにもかかわらず、ダウンロード可能な以前のChromedriverリリースはないようです。それらを見つけることができませんでした。
バージョン71が68より古いのはよくわかりません。
Chrome 68より新しいバージョンが実際に利用可能ですか、またはChrome 68で使用できる古いバージョンのchromedriverがありますか?
誰か他の提案はありますか?
これは私が実行しようとしているコードです:
import time
from Selenium import webdriver
from Selenium.webdriver.common.keys import Keys
user = 'XXXXXXX'
pwd = 'XXXXXXX'
chromedriver = "...\...\...\chromedriver.exe"
driver = webdriver.Chrome(executable_path=chromedriver) # Error occurs at this line
driver.get("http://www.facebook.com")
assert "Facebook" in driver.title
time.sleep(5) # So i can see something!
elem = driver.find_element_by_id("email")
elem.send_keys(user)
time.sleep(5) # So i can see something!
elem = driver.find_element_by_id("pass")
elem.send_keys(pwd)
time.sleep(5) # So i can see something!
elem.send_keys(Keys.RETURN)
driver.close()
古いバージョンのchrome driver here )を見つけることができます。
chromeを公式チャネル以外のソースからインストールすることは良い考えではないと思います。同じものをインストールすると、問題が発生する可能性があります。Google更新サービスがPCで実行されているかどうかを確認してください。これにより、 chromeバージョンを最新に自動的に更新します。Mineはバージョン71.0.3578.98(公式ビルド)(64ビット)を実行しています。
私にとっては、ドライバーをアップグレードすることでうまくいきました。ただ走れ:
brew cask upgrade chromedriver
その後、もう一度テストを実行してみてください。それが役に立てば幸い!
このエラーメッセージ...
Selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 6.1.7601 SP1 x86_64)
...Chromeのバージョンは70から73の間でなければならないことを意味します
主な問題は、使用しているバイナリ間のバージョンの互換性です。
サポートChrome v70-72
サポートChrome v67-69
したがって、ChromeDriver v2.45とChrome Browser v68.0の間には明らかな不一致があります
@Test
。どういうわけか私はあなたのシステムにインストールされているChromeブラウザの2つのバージョンがあると感じています。その場合は、プログラム内のChromeバイナリの絶対位置に言及する必要があり、次のソリューションを使用できます:
コードブロック:
from Selenium import webdriver
from Selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
driver = webdriver.Chrome(chrome_options=options, executable_path="C:/Utility/BrowserDrivers/chromedriver.exe", )
driver.get('http://google.com/')
詳細な説明は Set chrome Pythonのchromedriverを介したブラウザバイナリ にあります。
注:関連するディスカッションは Session not created exception:Chrome version must be> = ChromeでSelenium Webdriverを使用する場合はxyz
関連する詳細なディスカッションは次の場所にあります。
この問題を解決するには2つのオプションがあります。
1。 Chromeバージョンが更新されていない->更新している場合
手順:1.ヘルプにアクセス-> GoogleについてChrome-> Chrome =更新を自動的に検索します(update Chrome to the latest version))
2。 chromeバージョンがすでに最新の場合->次に、アップグレードする必要がありますchromeドライババージョン
ここにリンクがあります: http://chromedriver.chromium.org/downloads
同じ問題が発生しました。 Chromeのダウングレードバージョンをインストールしようとしました(現在の安定版は74で、必要なドライバはchromeバージョンは70-73でなければなりません))ができませんでしたそうするには。
別の方法を見つけました。 このリンク は、現在のgoogle-chromeと互換性のあるバージョンを示します(バージョンを確認するには、コマンドはgoogle-chrome --version
です)
このリンク は、Zipファイルを使用してchromeドライバをインストールする方法を示します。コマンドは次のとおりです。
cd
wget <URL to Zip file>
unzip chromedriver_linux64.Zip
Sudo mv chromedriver /usr/bin/chromedriver
Sudo chown root:root /usr/bin/chromedriver
Sudo chmod +x /usr/bin/chromedriver
エラーが発生した場合No such file or directory: '/usr/lib/chromium-browser/chromedriver'
OR同じエラーが続く
上記の手順を、/usr/lib/chromium-browser/chromedriver
ではなく/usr/bin/chromedriver
のパスで繰り返します。
私の場合、google-chromeバージョン74はChromeDriverバージョン73で動作しました
Chromedriverとchrome=バージョンの不一致により、この問題に直面しました。以下の手順に従って問題を解決しました:
1) First, find out which version of Chrome you are using. My Chrome version was 77.0.3865.90.
2) Take the Chrome version number, remove the last part, and append the result to URL "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_". For example, with Chrome version 77.0.3865.90, you'd get a URL "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_77.0.3865".
3) Use the URL created in the last step to retrieve the version of ChromeDriver to use. For example, the above URL will get your a file containing "77.0.3865.40". (The actual number may change in the future, of course.)
4) I then did :
webdriverdownloader chrome:77.0.3865.40 on my mac terminal.
この後、ChromedriverとChrome=バージョンを同期する必要があり、問題を修正する必要があります。
here からchromedriver拡張機能2.8または2.9をダウンロードするだけです。
それを抽出し、この拡張子を/ usr/local/binに追加します
Chromedriverのバージョン番号とWebブラウザを一致させる必要がありますchrome version、両方のバージョンが一致する場合は、それが最適です。
>例-1-お使いのウェブブラウザchrome version is 77(お使いのウェブブラウザをチェックするにはchromeウェブブラウザのヘルプにアクセスし、Googleについて= Chrome Webブラウザが表示されますchrome version)。2-次に、同じバージョンをここからダウンロードします77 chromedriver https://chromedriver.chromium .org/downloads 。3- google chromeをデフォルトのWebブラウザとして使用します。すべて完了です。コードは正常に実行されます。
from Selenium import webdriver
driver=webdriver.Chrome("chromedriver.exe")
# Below line of code provide
driver.get('http://python.org')
html_doc=driver.page_source
print("Html code of http://python.org web page :",html_doc)
まとめ:
どうぞ。ではごきげんよう!
Chromeバージョン75を使用している場合は、ChromeDriver 75.0.3770.8をダウンロードしてください。Chromeバージョン74を使用している場合は、ChromeDriver 74.0.3729.6をダウンロードしてください。 Chrome、それをサポートするChromeDriverのバージョンについては、以下を参照してください http://chromedriver.chromium.org/downloads