web-dev-qa-db-de.com

selenium.common.exceptions.SessionNotCreatedException: Nachricht: Sitzung nicht erstellt: Chrome Version muss mit ChromeDriver zwischen 70 und 73 sein

Ich versuche, einen Webcrawler mit Selenium zu erstellen, erhalte jedoch diese Fehlermeldung, wenn ich versuche, das Webdriver-Objekt zu erstellen.

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)

Ich habe die neueste Version von chromedriver (2.45) heruntergeladen, für die Chrome 70-73. Meine aktuelle Chrome Version ist 68.0.3440.106) erforderlich ist (Official Build) (64-Bit), das ist die neueste Version. Ich habe versucht, eine "ältere" Chrome-Version (71) herunterzuladen, und als ich versuchte, sie zu installieren, gab das Installationsprogramm an, dass ich eine neuere Version hatte bereits installiert.

Es scheint keine früheren Chromedriver-Versionen zum Download zu geben, obwohl die Website dies angibt. Ich konnte sie nicht finden.

Ich verstehe nicht ganz, wie Version 71 älter als 68 ist?

Gibt es eine Chrome Version, die neuer als 68 ist, oder eine ältere Version von Chromedriver, die ich mit Chrome 68) verwenden kann?

Hat jemand andere Vorschläge?

Dies ist der Code, den ich ausführen möchte:

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()
19
theotheraussie

Sie finden die älteren Versionen von chrome driver here .

Ich halte es nicht für eine gute Idee, chrome aus anderen Quellen als dem offiziellen Kanal zu installieren, und die Installation desselben kann Probleme verursachen. Überprüfen Sie, ob der Google Update-Dienst auf Ihrem PC ausgeführt wird Aktualisieren Sie automatisch die Version chrome auf die neueste Version. Meine Version wird mit Version 71.0.3578.98 (Official Build) (64-Bit) ausgeführt.

5
Sighil

Für mich war das Upgrade des Treibers der Trick. Renn einfach:

brew cask upgrade chromedriver

versuchen Sie dann erneut, den Test auszuführen. Ich hoffe es hilft!

10
kilinkis

Diese Fehlermeldung ...

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)

... impliziert, dass Chrome-Version zwischen 70 und 73 sein muss


Ihr Hauptproblem ist die Versionskompatibilität zwischen den Binärdateien, die Sie wie folgt verwenden:

  • Sie verwenden chromedriver = 2.45
  • In den Versionshinweisen von chromedriver = 2.45 wird Folgendes klar erwähnt:

Unterstützt Chrome v70-72

  • Sie verwenden chrome = 68.0
  • In den Versionshinweisen von ChromeDriver v2.41 wird Folgendes klar erwähnt:

Unterstützt Chrome v67-69

Es besteht also eine eindeutige Nichtübereinstimmung zwischen ChromeDriver v2.45 und dem Chrome Browser v68.0


Lösung


Alternative

Irgendwie habe ich das Gefühl, dass 2 Versionen von Chrome Browser auf Ihrem System installiert sind. Wenn dies der Fall ist, müssen Sie den absoluten Speicherort der Chrome Binärdatei in Ihrem Programm angeben, und Sie können die folgende Lösung verwenden:

  • Codeblock:

    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/')
    
  • Eine ausführliche Diskussion finden Sie in Set chrome browser binary über chromedriver in Python

Hinweis : Eine relevante Diskussion finden Sie in Sitzung nicht erstellt Ausnahme: Chrome Version muss> sein = xyz bei Verwendung von Selenium Webdriver mit Chrome


Referenz

Eine relevante ausführliche Diskussion finden Sie in:

7
DebanjanB

Es gibt zwei Möglichkeiten, um dieses Problem zu beheben:

1. Wenn Ihre Chrome Version nicht aktualisiert wird -> Aktualisieren Sie sie

Schritte: 1. Gehen Sie zu Hilfe -> Über Google Chrome -> Chrome) = sucht automatisch nach Updates (update Chrome auf die neueste Version)

(enter image description here

2. Wenn Ihre chrome Version bereits auf dem neuesten Stand ist -> Dann müssen Sie ein Upgrade durchführen chrome Treiberversion

Hier ist der Link: http://chromedriver.chromium.org/downloads

(enter image description here

5
Atul

Ich bin auf das gleiche Problem gestoßen. Ich habe versucht, eine herabgestufte Version von Chrome (aktueller Stable war 74 und der erforderliche Treiber chrome Version muss zwischen 70-73 sein)) zu installieren, aber ich konnte nicht um dies zu tun.

Ich habe einen anderen Weg gefunden. Dieser Link zeigt Ihnen, welche Version mit Ihrem aktuellen Google-Chrome kompatibel ist (um Ihre Version zu kennen, lautet der Befehl google-chrome --version)

Dieser Link führt Sie zur Installation des Treibers chrome Treiber mit Zip-Datei. Die Befehle sind:

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

Falls der Fehler kommt No such file or directory: '/usr/lib/chromium-browser/chromedriver' OR der gleiche Fehler bleibt bestehen

Wiederholen Sie den obigen Vorgang mit dem Pfad /usr/lib/chromium-browser/chromedriver anstatt /usr/bin/chromedriver

Für mich funktionierte Google-Chrome Version 74 mit ChromeDriver Version 73

4
Ritwik

Ich hatte dieses Problem aufgrund einer Nichtübereinstimmung von chromedriver und chrome version. Ich habe die folgenden Schritte ausgeführt, um mein Problem zu beheben:

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.

Danach müssen Ihr Chromedriver und Chrome Version synchron sein und das Problem sollte behoben sein.

0
Rahul Sharma

Laden Sie einfach die chromedriver-Erweiterung 2.8 oder 2.9 von hier herunter.

Extrahieren Sie es und fügen Sie diese Erweiterung zu /usr/local/bin hinzu.

0
Prat9501

Ihre chrome Version ist sehr alt. Version 68 ist nicht die neueste Version. Für alle Betriebssysteme ist Chrome ist derzeit in Version 71+. Bitte beachten Sie die Liste hier .

Alternativ ist this der Link zum Herunterladen älterer Versionen.

0
demouser123

Sie müssen mit der Versionsnummer von chromedriver und Ihrem Webbrowser übereinstimmen chrome version, Wenn beide Versionen übereinstimmen, ist es am besten.

> Zum Beispiel - 1- Ihr Webbrowser chrome Version ist 77 (Zum Überprüfen Ihres Webbrowsers chrome Version hat die Hilfe Ihres Webbrowsers erhalten und dann Über Google = Chrome dort finden Sie Ihren Webbrowser chrome Version). 2- Laden Sie jetzt dieselbe Version hier herunter 77 chromedriver von https: //chromedriver.chromium .org/downloads . 3- Machen Sie google chrome als Standard-Webbrowser. Alles erledigt. Ihr Code läuft einwandfrei.

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)
0
sameer_nubia

Zusammenfassend:

  • Finden Sie Ihre chrome Version ( Hilfe-> Über Google Chrome)
  • Finden Sie Ihre Chromedriver-Version, falls Sie bereits eine haben. (Für mich gab "chromedriver.exe -v" mir die Version unter Windows.)
  • Besuchen Sie die offizielle chrome Webdriver-Seite ( http://chromedriver.chromium.org/downloads )
  • Laden Sie den Chromedriver, der Ihrer chrome Browserversion entspricht, vom oben genannten Download-Speicherort herunter.
  • Werfen Sie einen Blick auf die Versionshinweise auf dieser Download-Seite im unteren Bereich der Seite, die eine klare Vorstellung davon geben, welcher Treiber für welche Browserversion verwendet werden soll.
  • Sie können die heruntergeladene Chromedriver-Binärdatei in die Pfadumgebung einfügen.

Los geht's. Alles Gute!

0
Chinmay

Wenn Sie Chrome Version 75) verwenden, laden Sie ChromeDriver 75.0.3770.8 herunter. Wenn Sie Chrome Version 74 verwenden, laden Sie bitte ChromeDriver 74.0.3729.6 herunter. Für ältere Versionen von Chrome finden Sie unten für die Version von ChromeDriver, die dies unterstützt. http://chromedriver.chromium.org/downloads

0
Mehul Jadav