web-dev-qa-db-fra.com

selenium.common.exceptions.SessionNotCreatedException: Message: session non créée: Chrome doit être comprise entre 70 et 73 avec ChromeDriver

J'essaie de créer un webcrawler à l'aide de Selenium, mais j'obtiens cette erreur lorsque j'essaie de créer l'objet 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)

J'ai téléchargé la dernière version de chromedriver (2.45) qui nécessite Chrome 70-73. Ma version actuelle Chrome est 68.0.3440.106) (Version officielle) (64 bits), qui est la dernière. J'ai essayé de télécharger un "plus ancien" version chrome (71) et quand j'ai essayé de l'installer, le programme d'installation a indiqué que j'avais une version plus récente déjà installé.

Il ne semble pas y avoir de versions précédentes de Chromedriver disponibles au téléchargement, même si le site Web dit qu'il en existe. Je ne les ai pas trouvés.

Je ne comprends pas très bien comment la version 71 est plus ancienne que 68?

Existe-t-il une version Chrome plus récente que 68 actuellement disponible, ou une version plus ancienne de chromedriver que je peux utiliser avec Chrome 68?

Quelqu'un a-t-il d'autres suggestions?

Voici le code que j'essaie d'exécuter:

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

Vous pouvez trouver les anciennes versions de chrome driver ici .

Je ne pense pas que ce soit une bonne idée d'installer chrome à partir de sources autres que le canal officiel et l'installation de celui-ci peut causer des problèmes. Voir si le service de mise à jour de Google fonctionne sur votre PC. mettre à jour automatiquement la version chrome vers la dernière. La mienne exécute la version 71.0.3578.98 (version officielle) (64 bits).

5
Sighil

Pour moi, la mise à niveau du pilote a fait l'affaire. Exécutez simplement:

brew cask upgrade chromedriver

puis réessayez d'exécuter votre test. J'espère que ça aide!

10
kilinkis

Ce message d'erreur ...

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)

... implique que La version Chrome doit être comprise entre 70 et 73


Votre problème principal est la compatibilité de la version entre les binaires que vous utilisez comme suit:

  • Vous utilisez chromedriver = 2.45
  • Les notes de publication de chromedriver = 2.45 mentionnent clairement les éléments suivants:

Prise en charge Chrome v70-72

  • Vous utilisez chrome = 68.0
  • Les notes de publication de ChromeDriver v2.41 mentionnent clairement les éléments suivants:

Prise en charge Chrome v67-69

Il existe donc un net décalage entre ChromeDriver v2.45 et le Chrome Browser v68.0


Solution


Alternative

D'une certaine manière, je pense qu'il y a 2 versions de navigateur Chrome installé sur votre système. Si tel est le cas, vous devez mentionner le emplacement absolu du binaire Chrome dans votre programme et vous pouvez utiliser la solution suivante:

  • Bloc de code:

    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/')
    
  • Vous pouvez trouver une discussion détaillée dans Set chrome navigateur binaire via chromedriver en Python

Remarque : Vous pouvez trouver une discussion pertinente dans Session non créée exception: Chrome doit être> = xyz lors de l'utilisation de Selenium Webdriver avec Chrome


Référence

Vous pouvez trouver une discussion détaillée pertinente dans:

7
DebanjanB

Il existe deux options pour résoudre ce problème:

1. Si votre Chrome n'est pas mise à jour -> La mettre à jour

Étapes: 1. Allez dans Aide -> À propos de Google Chrome -> Chrome = recherchera automatiquement les mises à jour (update Chrome vers la dernière version)

enter image description here

2. Si votre version chrome version est déjà à jour -> alors vous devez vous mettre à niveau chrome du pilote

Voici le lien: http://chromedriver.chromium.org/downloads

enter image description here

5
Atul

J'ai rencontré le même problème. J'ai essayé d'installer une version dégradée de Chrome (l'écurie actuelle était de 74 et le pilote requis chrome la version doit être comprise entre 70 et 73) mais je n'ai pas pu le faire.

J'ai trouvé un autre moyen. Ce lien vous montrera quelle version est compatible avec votre google-chrome actuel (pour connaître votre version la commande est google-chrome --version)

Ce lien vous guidera sur la façon d'installer le pilote chrome avec le fichier Zip. Les commandes sont les suivantes:

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

Si l'erreur survient No such file or directory: '/usr/lib/chromium-browser/chromedriver' OR la même erreur persiste

Répétez la procédure ci-dessus avec le chemin /usr/lib/chromium-browser/chromedriver Au lieu de /usr/bin/chromedriver

Pour moi, la version 74 de Google Chrome fonctionnait avec la version 73 de ChromeDriver

4
Ritwik

J'ai rencontré ce problème en raison de l'inadéquation de chromedriver et de la version chrome. J'ai suivi les étapes ci-dessous pour résoudre mon problème:

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.

Après cela, votre Chromedriver et la version Chrome doivent être synchronisés et le problème doit être résolu.

0
Rahul Sharma

Il suffit de télécharger l'extension 2.8 ou 2.9 de chromedriver depuis ici .

Extrayez-le et ajoutez cette extension à /usr/local/bin

0
Prat9501

Votre version chrome est très ancienne. La version 68 n'est pas la dernière version. Pour tous les systèmes d'exploitation, Chrome est actuellement dans la version 71+. Veuillez consulter la liste ici .

Alternativement, this est le lien pour télécharger les anciennes versions.

0
demouser123

Vous devez faire correspondre le numéro de version de chromedriver et votre navigateur Web chrome, si les deux versions correspondent, alors c'est mieux.

> Par exemple - 1- votre navigateur Web chrome est 77 (pour vérifier votre navigateur Web chrome est arrivée dans l'aide de votre navigateur Web, puis À propos de Google = Chrome vous y trouverez votre navigateur web chrome). 2- Téléchargez maintenant la même version ici 77 chromedriver depuis https: //chromedriver.chromium .org/Downloads . 3- Faites de google chrome votre navigateur Web par défaut. Tout est fait. Votre code fonctionnera correctement.

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

En résumé:

  • Trouvez votre chrome ( Aide-> À propos de Google Chrome)
  • Trouvez votre version chromedriver, si vous en avez déjà une. (Pour moi, "chromedriver.exe -v" m'a donné la version sur l'environnement Windows.)
  • Visitez la page officielle chrome webdriver ( http://chromedriver.chromium.org/downloads )
  • Téléchargez le chromedriver correspondant à votre version de navigateur chrome, à partir de l'emplacement de téléchargement ci-dessus.
  • Jetez un coup d'œil aux notes de version de cette page de téléchargement vers la section inférieure de la page, ce qui donne une idée claire du pilote à utiliser pour quelle version du navigateur.
  • Vous pouvez placer le binaire chromedriver téléchargé dans l'environnement de chemin.

Voilà. Bonne chance!

0
Chinmay

Si vous utilisez Chrome version 75, veuillez télécharger ChromeDriver 75.0.3770.8 Si vous utilisez Chrome version 74, veuillez télécharger ChromeDriver 74.0.3729.6 pour une version antérieure de Chrome, veuillez voir ci-dessous la version de ChromeDriver qui le prend en charge. http://chromedriver.chromium.org/downloads

0
Mehul Jadav