Le sélénium en Python sur Mac - Geckodriver exécutable doit être dans le CHEMIN d'accès
Je suis nouveau en programmation et a commencé avec Python environ 2 mois et je suis aller sur Sweigart est d'Automatiser les Trucs Ennuyeux avec Python texte. Je suis en utilisant Spyder 3 et déjà installé le sélénium module et le navigateur Firefox. J'ai utilisé le code suivant dans le fichier python
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://inventwithpython.com')
J'obtiens cette erreur:
Message: 'geckodriver' executable needs to be in PATH.
J'ai téléchargé geckodriver.exe en plus d'aller dans le terminal et l'installer en utilisant le
brew install geckodriver
Curieusement, si je vais dans le terminal et tapez la commande "python" et ensuite mettre le code, il fonctionne, mais pas quand je lance le fichier en Spyder. Où dois-je mettre le geckodriver.exe fichier pour que cela fonctionne? J'ai essayé de mettre dans différents dossiers (même dossier que le fichier python, même dossier que le webdriver fichier, l'utilisateur de la corbeille, et ainsi de suite), mais j'obtiens la même erreur
J'ai regardé des questions similaires, mais n'arrive pas à trouver quelque chose qui fonctionne. J'ai aussi essayé avec Chrome, mais j'obtiens la même erreur, mais avec chromedriver.
which geckodriver
rendements /usr/local/bin/geckodriver
Je suis aussi sur un Mac, donc les chemins de fichiers sont un peu plus difficile pour moi que sur windows.
which geckodriver
?Dans le terminal, le résultat est /usr/local/bin/geckodriver
Lorsque vous exécutez
which geckodriver
sur la console (dans le terminal) - la sortie que vous obtenez?On dirait qu'il est stocké dans la corbeille
S'il vous plaît laissez-moi savoir plus d'informations sur votre environnement. J'ai couru spyder sur python 3.5.0, pyQt5, le sélénium 3.0.2, geckodriver 0.11.1 et mac OS. Qui a bien fonctionné.
OriginalL'auteur | 2017-01-03
Vous devez vous connecter pour publier un commentaire.
Télécharger le geckodriver et le mettre dans /usr/local/bin;
ensuite, utilisez webdriver.Firefox comme ceci:
OriginalL'auteur JJon.Boat
RÉSOLU: j'ai placé le geckodriver exe dans le dossier /Utilisateurs/sethkillian/anaconda/bin et maintenant il fonctionne à partir de Spyder avec aucun problème. Merci pour l'aide!
OriginalL'auteur
Peut-être que quelqu'un peut expliquer pourquoi le chemin d'accès n'est pas trouvé. Et j'espère aussi que cela aide quelqu'un d'autre à résoudre leurs propres problèmes de chemin d'accès.
Vous pouvez certainement mettre la geckodriver executible importe où vous le souhaitez. Sur mon Mac, j'ai choisi ~/.local/bin depuis sa un endroit commun pour les exécutables pour être stockées qui sont spécifiques à un compte d'utilisateur. Par exemple. le Heroku CLI est placé dans ~/.local/share. Cette approche élimine également la nécessité pour le super utilisateur l'accès lors de l'ajout d'un fichier exécutable à un emplacement du système comme /usr/local/bin
J'ai ensuite ajouté au chemin d'accès au sein de mon .profil avec
J'ai testé en ouvrant un terminal et en vérifiant avec:
qui a bien fonctionné.
Mais à partir d'un environnement virtuel Python, pour une raison quelconque, le système de chemin d'accès n'est pas passé?? J'ai découvert cela en ajoutant à mon sélénium script de test:
Qui a montré:
Si, finalement, j'ai eu de spécifier le chemin d'accès avec:
Cette approche fonctionne bien, mais je voudrais encore savoir pourquoi je n'arrivais pas à définir le chemin d'accès dans l'environnement virtuel.
OriginalL'auteur Philip