Comment faire pour résoudre les “chromedriver exécutable doit être dans le CHEMIN d'accès” erreur lors de l'exécution de Sélénium Chrome à l'aide de virtualenv dans PyDev?

Court:

Avoir lu de Contrôler le Navigateur avec le sélénium Module à https://automatetheboringstuff.com/chapter11, je suis en train de lancer le Sélénium Chrome pilote dans un environnement virtuel à partir de PyDev. J'ai réussi à le faire à partir de l'extérieur de PyDev, mais de l'intérieur, j'obtiens:

selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.

Long:

Je suis sous Linux Debian 3.10.11-1.

Suivantes https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/, avant même de commencer avec PyDev, j' . . .

  1. Configurer un environnement virtuel avec virtualenv
    1. Installé virtualenv
      pip install virtualenv
    2. Fait un répertoire de mon projet
      cd ~/temp/
      mkdir my_project
      cd my_mproject
    3. Créé un environnement virtuel appelé env
      virtualenv env
    4. Activé.
      source env/bin/activate
    5. Est allé en Python en mode interactif pour me dire quelle version de Python j'ai été en utilisant
      python
      Python 2.7.12rc1 (par défaut, 13 Juin 2016, 09:20:59) 
      [GCC 5.4.0 20160609] sur linux2
  2. Sortie de la interacive mode et installé le Sélénium trucs
    1. D'abord le module
      pip installer le sélénium
    2. Suggestion suivante à https://groups.google.com/forum/#!topic/obéissent-le-test-chèvre-livre/Ty4FQoV3S0Q, installé chromedriver
      1. cd env/bin/
      2. wget http://chromedriver.storage.googleapis.com/2.22/chromedriver_linux64.zip
      3. décompresser chromedriver_linux64.zip
  3. Écrit un petit script pour voir si cela fonctionnerait
    de sélénium importation webdriver 
    pilote = webdriver.Chrome()

    Il a couru. Un Chrome web-fenêtre du navigateur ouverte. Grand.

Maintenant pour l'essayer dans PyDev:

Suit, en gros,https://www.caktusgroup.com/blog/2011/08/31/getting-started-using-python-eclipse/ . . .

  1. Installé Eclipse (Néon)
  2. Installé PyDev
  3. Depuis Eclipse, a créé un nouveau projet (Fichier menu > Nouveau Projet > Général > Projet, est entré dans une Nom du Projet et cliqué sur Finition).
  4. De retour à l'invite de commande (parce que je n'ai pas encore trouvé comment le faire à partir de l'Éclipse et PyDev): cd'ed dans mon nouveau projet du répertoire racine et créé un environnement virtuel.
  5. Comme avant, toujours à l'invite de commande, j'ai activé le nouveau projet de l'environnement virtuel et installé le Sélénium module, puis le chromedriver fichier exécutable qui est venu de la chromedriver_linux64.zip fichier.
  6. De retour dans Eclipse, j'ai signé mon projet pour l'utilisation de l'environnement virtuel, qui, j'imagine, dans PyDev lingo s'appelle pas un environnement virtuel, mais plutôt d'un interprète:
    1. Fenêtre menu > Préférences > PyDev > Interprètes > Interpréteurs Python > Ajouter.
    2. A donné l'interprète un nom.
    3. Pour Interprète Exécutable, j'ai choisi le python2.7 fichier dans mon projet, l'environnement virtuel est bin répertoire
    4. Cliqué droit sur mon projet, sélectionnez Propriétés > PyDev - Interprète/Grammaire > Sous Interprète sélectionné mon nouvel interprète > OK.
  7. Donné mon projet le même script . . .
    de sélénium importation webdriver 
    pilote = webdriver.Chrome()

    et il a couru en cliquant sur le Exécuter menu > Exécuter en tant Qu' > Python Exécuter.

    Maintenant, si, au lieu de Chrome navigateur web de l'ouverture de la fenêtre, je reçois un message dans la console d'Eclipse:

    selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.

Pour obtenir la fenêtre du navigateur web pour ouvrir comme il le fait quand je lance le même sac à partir d'une invite de commande, j'ai essayé:

  • l'ajout de l'environnement virtuel du bin dossier (parce que c'est là le chromedriver fichier est) à l'interprète.
  • la suppression de l'interprète, et d'en créer de nouveaux.
  • la copie de la chromedriver dans le même répertoire que mon script est. Pas de différence.
  • l'ajout de la chromedriver_linux64.zip fichier que j'ai téléchargé à l'interprète. Toujours la même erreur.

Je continue en écrivant mon script dans PyDev, puis, s'adressant à l'invite de commande pour l'exécuter. Souhaite juste que je puisse l'exécuter dans PyDev le mode debug.

Comment puis-je obtenir cette "chromedriver" dans le "PATH" dans PyDev pour que je puisse exécuter le script à partir d'Eclipse?

OriginalL'auteur user1930469 | 2016-07-03