Python - Selenium dans Ubuntu OSError: [Errno 20] Pas un répertoire
Après l'installation de Sélénium dans Ubuntu et en ajoutant geckodriver de chemin, j'obtiens cette erreur quand je lance
from selenium import webdriver
driver = webdriver.Firefox()
erreur:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 135, in __init__
self.service.start()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 64, in start
stdout=self.log_file, stderr=self.log_file)
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 20] Not a directory
Ce qu'il se passe?
EDIT: Résolu en utilisant chromedriver au lieu de geckodriver.
source d'informationauteur User
Vous devez vous connecter pour publier un commentaire.
Eu le même problème. Il y avait deux façons de résoudre ce problème pour moi:
Ajouter executable_path arg dans webdriver:
Et la deuxième manière de son pour ajouter un dossier qui contient geckodriver l'aide de l'exportation (seul dossier de, pas geckodriver):
En plus de la réponse par @Poloq, de la façon la plus simple serait de garder votre
geckodriver
binaire dans un répertoire qui est déjà dans votrePATH
.De cette façon, vous pouvez éviter d'autres réglages/configurations dans votre projet avec l'inconvénient d'avoir une étape supplémentaire lors du déploiement sur des systèmes différents.
Le problème, c'est que vous avez renommé "geckodriver" à "fils".
La solution est d'ajouter "geckodriver" chemin de recherche, alors il devrait fonctionner.
En plus des réponses apportées, il y a aussi cette option où vous pouvez copier le pilote de
/usr/bin
: