web-dev-qa-db-fra.com

Impossible de trouver le binaire Chrome avec Selenium en Python pour les anciennes versions de Google Chrome.

Pour des raisons de compatibilité, je préfère utiliser la version de Chrome 55.0.2883.75 avec Chromedriver v. 2.26. J'ai téléchargé l'ancienne version de chrome à partir de https://www.slimjet.com/chrome/google-chrome-old-version.php et de Chromedriver 2.26 à partir de https://chromedriver.storage.googleapis.com. /index.html?path=2.26/ .

J'utilise le code suivant pour tenter de définir mon emplacement binaire Chrome:

from Selenium import webdriver
from Selenium.webdriver.chrome.options import Options

options = Options()
options.binary_location = "C:\\Program Files\\Chrome\\chrome64_55.0.2883.75\\chrome.exe"
driver = webdriver.Chrome('chromedriver.exe', chrome_options = options)

Cependant, lorsque je tente de lancer WebDriver, Python renvoie l'erreur suivante:

WebDriverException: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.26.436362
(5476ec6bf7ccbada1734a0cdec7d570bb042aa30),platform=Windows NT 10.0.14393 x86_64)

J'ai essayé de chercher dans des questions et réponses similaires, mais je n'ai pas eu de chance jusqu'à présent. Toute aide est grandement appréciée - merci d’avance!

4
Venetian

Ce message d'erreur ...

WebDriverException: unknown error: cannot find Chrome binary

... implique que ChromeDriver n'a pas pu trouver le binaire Chrome à l'emplacement par défaut de votre système.

Selon le ChromeDriver - Configuration requise :

Le serveur ChromeDriver s'attend à ce que Chrome soit installé à l'emplacement par défaut pour chaque système, comme suit:

 ChromeLocation

1 Pour les systèmes Linux, ChromeDriver s'attend à ce que /usr/bin/google-chrome soit un lien symbolique à la binaire de Chrome réelle. 


Utilisation d'un exécutable Chrome dans un emplacement non standard

Cependant, vous pouvez également remplacer la valeur par défaut emplacement binaire de Chrome comme suit:

 Chrome_non_standard_location


Pour utiliser Chrome version 55.x installée dans un emplacement non standard via ChromeDriver v2.26, vous pouvez utiliser le bloc de code suivant:

from Selenium import webdriver
from Selenium.webdriver.chrome.options import Options

options = Options()
options.binary_location = "C:\\Program Files\\Chrome\\chrome64_55.0.2883.75\\chrome.exe"
driver = webdriver.Chrome(chrome_options = options, executable_path=r'C:\path\to\chromedriver.exe')
driver.get('http://google.com/')
print("Chrome Browser Invoked")
driver.quit()
3
DebanjanB

Vérifiez https://sites.google.com/a/chromium.org/chromedriver/getting-started Vous pouvez spécifier le chemin binaire dans le constructeur de WebDriver:

driver = webdriver.Chrome('/path/to/chromedriver')  # Optional argument, if not specified will search path.
0
eduardoreynoso