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()
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).
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!
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:
Prise en charge Chrome v70-72
Prise en charge Chrome v67-69
Il existe donc un net décalage entre ChromeDriver v2.45 et le Chrome Browser v68.0
@Test
.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
Vous pouvez trouver une discussion détaillée pertinente dans:
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)
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
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
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.
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
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)
En résumé:
Voilà. Bonne chance!
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