J'essaie d'exécuter certains tests à l'aide de chromedriver et j'ai essayé les méthodes suivantes pour démarrer chromedriver.
driver = webdriver.Chrome('/usr/local/bin/chromedriver')
et
driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')
et
import os
from Selenium import webdriver
chromedriver = "/usr/local/bin/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("http://stackoverflow.com")
Mais aucun de ceux-ci ne semble aider et l'erreur est la suivante: Selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path.
J'ai vérifié plusieurs fois et chromedriver
est présent à l'emplacement /usr/local/bin
.
Mes scripts ne fonctionnent toujours pas. Tout corps pourrait-il aider.
Mon emplacement google-chrome est:/usr/bin/google-chrome
En suivant la suggestion de https://askubuntu.com/questions/539498/where-does-chromedriver-install-to j'ai pu le faire fonctionner comme suit:
Installé le conducteur chromé chromé:
Sudo apt-get install chromium-chromedriver
Ajout du chemin vers la ligne Selenium:
driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")
Notez que cela ouvre Chrome et pas Chrome. J'espère que c'était utile.
J'ai résolu le problème de la manière suivante:
Ouvrez un terminal et tapez whereis chromedriver
. Dans mon cas, j'ai eu la sortie suivante:
chromedriver: /usr/local/bin/chromedriver
Copiez ce chemin et éditez votre instance Webdriver comme suit:
driver = webdriver.Chrome('/usr/local/bin/chromedriver')
Cela devrait suffire!
Comme le message l'indique, l'exécutable ChromeDriver doit être disponible dans le chemin.
Alors est-ce dans le chemin? Quel est le résultat de:
$ cd
$ chromedriver --version
Si vous ne voyez pas la version, chromedriver
n’est définitivement pas dans PATH.
Je ne dis pas à WebDriver où trouver chromedriver
autrement. - J'utilise le paquet Ubuntu «chromium-chromedriver», mais le fichier binaire est supprimé dans /usr/lib/chromium-browser/chromedriver
, qui ne se trouve pas dans mon PATH. J'ai donc mis un lien symbolique dans /usr/bin
.
Ce qui suit devrait normalement fonctionner:
driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')
Notez que dans votre question, il n'y avait pas de '/' précédent dans le chemin.
De plus, assurez-vous que l’exécutable chromedriver situé dans/usr/local/bin/dispose des autorisations de fichier appropriées, c’est-à-dire qu’il peut être exécuté:
> chmod 777 /usr/local/bin/chromedriver
Vous devez vous assurer que le binaire autonome ChromeDriver se trouve dans votre chemin ou dans la variable d'environnement webdriver.chrome.driver, puis essayez d'utiliser le chemin absolu vers ce binaire ..
File chromeDriver = new File("/usr/bin/chromedriver");
System.setProperty("webdriver.chrome.driver", chromeDriver.getAbsolutePath());
driver = new ChromeDriver();
Il suffit de passer l’emplacement binaire comme argument et pas seulement le répertoire qui le contient. Donc, s'il se trouve dans le répertoire/usr/bin, lancez la commande ci-dessous:
driver = webdriver.Chrome("/usr/bin/chromedriver")
Cela a fonctionné pour moi dans Ubuntu et l'ajout du chemin d'accès à bashrc ne fonctionne pas. Essaie.