J'utilise du sélénium avec python et j'ai téléchargé le chromedriver pour mon ordinateur Windows à partir de ce site: http://chromedriver.storage.googleapis.com/index.html?path=2.15/
Après avoir téléchargé le fichier zip, j'ai décompressé le fichier zip dans mon dossier de téléchargement. Ensuite, j'ai mis le chemin vers l'exécutable binaire (C: \ Users \ michael \ Downloads \ chromedriver_win32) dans la variable d'environnement "Path".
Cependant, lorsque j'exécute le code suivant:
from selenium import webdriver
driver = webdriver.Chrome()
... je reçois le message d'erreur suivant:
WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver
Mais - comme expliqué ci-dessus - l'exécutable est (!) Dans le chemin ... que se passe-t-il ici?
python
selenium
selenium-chromedriver
progrès constant
la source
la source
chromedriver.exe
dans le même répertoire que votre script Python.choco install chromedriver
.Réponses:
Vous pouvez tester s'il se trouve réellement dans le PATH, si vous ouvrez un cmd et tapez
chromedriver
(en supposant que votre exécutable chromedriver est toujours nommé comme ceci) et appuyez sur Entrée. SiStarting ChromeDriver 2.15.322448
apparaît, le PATH est défini de manière appropriée et il y a autre chose qui ne va pas.Vous pouvez également utiliser un chemin direct vers le chromedriver comme ceci:
Donc dans votre cas particulier:
la source
pip
?Je vois que les discussions parlent encore de l'ancienne façon de configurer chromedriver en téléchargeant le binaire et en configurant le chemin manuellement.
Cela peut être fait automatiquement en utilisant webdriver-manager
Maintenant, le code ci-dessus dans la question fonctionnera simplement avec le changement ci-dessous,
La même chose peut être utilisée pour définir Firefox, Edge et ie binaires.
la source
Même situation avec l'édition communautaire pycharm, donc, comme pour cmd, vous devez redémarrer votre ide afin de recharger les variables de chemin. Redémarrez votre ide et ça devrait aller.
la source
Sous Linux (Ubuntu ou Debian):
Sur macOS, installez https://brew.sh/ puis faites
la source
driver = webdriver.Chrome()
a bien fonctionné pour moi.Nous devons ajouter une chaîne de chemin, en commençant par la lettre
r
avant la chaîne, pour la chaîne brute. J'ai testé de cette façon et cela fonctionne.la source
Quelques entrées / clarifications supplémentaires pour les futurs lecteurs de ce fil, pour éviter de bricoler avec l'environnement PATH. variable au niveau Windows et redémarrage du système Windows: (copie de ma réponse de https://stackoverflow.com/a/49851498/9083077 comme applicable à Chrome):
(1) Téléchargez chromedriver (comme décrit dans ce fil de discussion précédemment) et placez le chromedriver.exe (décompressé) dans X: \ Folder \ of \ your \ choice
(2) Exemple de code Python:
Remarques: (1) Cela peut prendre environ 5 secondes pour l'exemple de code (dans la réponse référencée) pour ouvrir le navigateur Firefox pour l'URL spécifiée. (2) La console python afficherait l'erreur suivante s'il n'y a pas de serveur déjà en cours d'exécution à l'url spécifiée ou de service d'une page avec le titre contenant la chaîne 'Django': assert 'Django' dans browser.title AssertionError
la source
Pour Linux et OSX
Étape 1: Téléchargez chromedriver
Étape 2: Ajouter chromedriver à
/usr/local/bin
Vous devriez maintenant pouvoir courir
sans aucun problème
la source
Lorsque vous décompressez chromedriver, veuillez spécifier un emplacement exact afin de pouvoir le retracer plus tard. Ci-dessous, vous obtenez le bon chromedriver pour votre système d'exploitation, puis le décompressez à un emplacement exact, qui pourrait être fourni comme argument plus tard dans votre code.
wget http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip unzip chromedriver_linux64.zip -d /home/virtualenv/python2.7.9/
la source
/usr/local/bin/
installer globalement.Si vous travaillez avec le cadre de robot RIDE. Ensuite, vous pouvez télécharger à
Chromedriver.exe
partir de son site officiel et conserver ce fichier .exe dans leC:\Python27\Scripts
répertoire. Mentionnez maintenant ce chemin comme variable d'environnement, par exemple.C:\Python27\Scripts\chromedriver.exe
.Redémarrez votre ordinateur et exécutez à nouveau le même scénario de test. Vous n'obtiendrez plus ce problème.
la source
Selon les instructions , vous devez inclure le chemin vers ChromeDriver lors de l'instanciation du pilote Web.
la source
Avant d'ajouter le chromedriver à votre chemin, assurez-vous qu'il s'agit de la même version que votre navigateur.
Sinon, vous devrez faire correspondre les versions: mettre à jour / rétrograder votre chrome et mettre à niveau / rétrograder votre pilote Web.
Je recommande de mettre à jour votre version de chrome autant que possible, et la correspondance avec le webdriver.
Pour mettre à jour Chrome:
help
->About Google Chrome
Ensuite, téléchargez la version compatible ici: http://chromedriver.chromium.org/downloads .
Remarque: le dernier chromedriver ne correspond pas toujours à la dernière version de chrome!
Vous pouvez maintenant l'ajouter au PATH:
créez un nouveau dossier quelque part sur votre ordinateur, où vous placerez vos pilotes Web. J'ai créé un dossier nommé
webdrivers
dansC:\Program Files
copiez le chemin du dossier. Dans mon cas, c'était
C:\Program Files\webdrivers
clic droit sur
this PC
->properties
:Advanced System settings
Environment Variables
System variables
, cliquez surpath
et cliquez suredit
new
C'est tout! J'ai utilisé pycharm et j'ai dû le rouvrir. Peut-être que c'est la même chose avec d'autres IDE ou terminaux.
la source
Pourrait essayer de redémarrer l'ordinateur s'il ne fonctionne pas après que vous soyez sûr que PATH est correctement défini.
Dans mon cas sur Windows 7, j'ai toujours eu l'erreur sur WebDriverException: Message: pour chromedriver, gecodriver, IEDriverServer. Je suis presque sûr que j'ai le chemin correct. Redémarrez l'ordinateur, tout fonctionne
la source
Le meilleur moyen est certainement ici:
Téléchargez et décompressez chromedriver et placez 'chromedriver.exe' dans C: \ Python27 \ Scripts et vous n'avez pas besoin de fournir le chemin du pilote, juste
Vous avez terminé, pas besoin d'ajouter des chemins ou quoi que ce soit
la source
Dans mon cas, cette erreur disparaît lorsque j'ai copié le fichier chromedriver dans le dossier c: \ Windows. C'est parce que le répertoire windows se trouve dans le chemin que le script python vérifie pour la disponibilité de chromedriver.
la source
Si vous utilisez un interpréteur distant, vous devez également vérifier si son exécutable PATH est défini. Dans mon cas, le passage de l'interpréteur Docker distant à l'interprète local a résolu le problème.
la source
J'ai rencontré le même problème que le vôtre. J'utilise PyCharm pour écrire des programmes et je pense que le problème réside dans la configuration de l'environnement dans PyCharm plutôt que dans le système d'exploitation. J'ai résolu le problème en accédant à la configuration du script, puis en éditant le PATH dans les variables d'environnement manuellement. J'espère que ceci vous aidera!
la source
Ajoutez le pilote Web (chromedriver.exe ou geckodriver.exe) ici C: \ Windows . Cela a fonctionné dans mon cas
la source
Le meilleur moyen est peut-être d'obtenir le répertoire actuel et d'y ajouter l'adresse restante. Comme ce code (Word sur Windows. Sur Linux, vous pouvez utiliser quelque chose de la ligne pwd):
webdriveraddress = str(os.popen("cd").read().replace("\n", ''))+'\path\to\webdriver'
la source
Lorsque j'ai téléchargé chromedriver.exe, je le déplace simplement dans le dossier PATH C: \ Windows \ System32 \ chromedriver.exe et j'ai eu exactement le même problème.
Pour moi, la solution consistait simplement à changer de dossier dans PATH, donc je l'ai simplement déplacé dans le dossier bin de Pycharm Community qui était également dans PATH. ex:
la source
Eu ce problème avec Mac Mojave exécutant le framework de test Robot et Chrome 77. Cela a résolu le problème. Félicitations à @Navarasu pour m'avoir indiqué la bonne voie.
Ensuite, dans l'invite python:
Cela conduit à l'erreur suivante:
~/chromedriver/chromedriver
Ouvrez
~/.bash_profile
avec l'éditeur et ajoutez:Ouvrir une nouvelle fenêtre de terminal, ta-da 🎉
la source
J'ai eu ce problème sur Webdriver 3.8.0 (Chrome 73.0.3683.103 et ChromeDriver 73.0.3683.68). Le problème a disparu après que je l'ai fait
pour mettre à niveau Webdriver vers la version 3.14.1.
la source
Vérifiez le chemin de votre pilote Chrome, il se peut qu'il ne l'obtienne pas. Copiez simplement et collez l'emplacement du pilote dans le code.
la source
(pour les utilisateurs de Mac) J'ai le même problème mais j'ai résolu de cette manière simple: vous devez mettre votre chromedriver.exe dans le même dossier que votre script exécuté et que dans pyhton écrivez cette instruction:
importer le système d'exploitation
os.environ ["PATH"] + = os.pathsep + r'X: / votre / dossier / script / '
la source