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()
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.
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!
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:
Unterstützt Chrome v70-72
Unterstützt Chrome v67-69
Es besteht also eine eindeutige Nichtübereinstimmung zwischen ChromeDriver v2.45 und dem Chrome Browser v68.0
@Test
.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
Eine relevante ausführliche Diskussion finden Sie in:
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)
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
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
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.
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.
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)
Zusammenfassend:
Los geht's. Alles Gute!
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