web-dev-qa-db-fra.com

Utilisation de chromedriver avec Selenium/python/ubuntu

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

18
Saheb

En suivant la suggestion de https://askubuntu.com/questions/539498/where-does-chromedriver-install-to j'ai pu le faire fonctionner comme suit:

  1. Installé le conducteur chromé chromé: 

    Sudo apt-get install chromium-chromedriver
    
  2. 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.

32
Zamfir Stefan

J'ai résolu le problème de la manière suivante:

  1. Ouvrez un terminal et tapez whereis chromedriver. Dans mon cas, j'ai eu la sortie suivante: 

    chromedriver: /usr/local/bin/chromedriver

  2. Copiez ce chemin et éditez votre instance Webdriver comme suit:

driver = webdriver.Chrome('/usr/local/bin/chromedriver')

Cela devrait suffire!

2
Javier Sorella

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.

1
Robert Siemer

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
1
Tytus

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();
0
Devarshi Tank

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.

0
amritkrs