11
votes

Sélénium avec ghostdriver en python sous Windows

Ceci est embarrassant de demander parce que cela semble être quelque chose avec une chance si slim d'erreur. Je ne penserais pas que cela serait difficile, mais je me branches à cela pendant près de 3 heures et cela me donne mal à la tête. J'ai lu plusieurs dizaines de threads Stackoverflow et de threads Google.

J'ai installé Phantomjs, l'a ajouté au chemin de mon système Variables, et cela fonctionne correctement dans la ligne de commande. J'ai également installé Selenium plus tôt avec Easy_install.

l'erreur que je reçois est: xxx

voici mon code: xxx

J'ai aussi essayé : xxx

i obtenir le même message d'erreur. Cela doit être quelque chose de simple que je fais mal. J'apprécierais tout commentaire ou réponses.

Windows 7 64 bits Python 2.7


8 commentaires

Oui, je copiais ce chemin et il collé, pas d'erreur. Je l'ai aussi juste couru dans la ligne de commande et il a changé à « PhantomJS> ». Donc, tout est bien là. Je pense qu'il peut être une incompatibilité de version ou quelque chose? Ce qui est vraiment me estompe.


1.9.7. Le chemin est: c: \ python27 \ misc \ fantomjs \


Je ne peux pas le reproduire. S'il vous plaît essayez de mettre dans un autre chemin et essayez à nouveau. Le message d'erreur dit que le chemin est faux.


Oui, j'ai déjà essayé cela avant de poster. Si étrange. Quand j'ai dit la version Mismatch, je pensais entre sélénium et fantomjs, mais ils sont tous deux fraîchement installés aujourd'hui.


Ça devient étranger. J'ai changé tous les / vers // puis dirigé le script python non sauvé dans PYSCRIPTER et cela m'a donné l'erreur: IOERROR: [ERRNO 13] Autorisation refusée: 'ghostdriver.log'. Je pense que je pense progrès. Ensuite, je l'ai sauvé et l'erreur est revenue. Ce problème a quelque chose à voir avec les références du chemin ou la manière dont le chemin est interprété.


J'ai essayé de courir 'Phantomjs --WebDriver = 5000' et un tas de ports aléatoires, mais il est indiqué "ne peut pas ouvrir" 5000 ""


Je pense que c'est un bogue: code.google.com/p/selenium/ Problèmes / détail? ID = 6736


HMM, autorisation refusée: "Ghostdriver.log" Vous dites? De où exécutez-vous votre script Python? Les Phantomjs les plus susceptibles n'avaient pas d'autorisations pour créer un fichier dans ce répertoire, voir ma réponse sur la manière de prévenir les fantomjs de faire un fichier ghostdriver.log.


3 Réponses :


13
votes

Cela a peut-être été une version de version pour vous, mais depuis que je viens de passer à la configuration sur mon PC Windows 7 sans problèmes, je vais partager mon "voyage" ici.

premier de, je suis Plus utilisé pour le terminal Mac / Linux et le gestionnaire de packages Python pip code> à ma disposition est essentiel pour moi. Après avoir installé Python 2.7.8 et ajouter ; c: \ Python27 code> à mon chemin j'ai remarqué que pip code> n'est pas inclus avec les versions Python plus bas que 2.7.9, donc je Dû aussi l'ajouter moi-même . Après j'ai ajouté ; c: \ python27 \ scripts code> à mon chemin. P>

Après que cela récupère le package Python sélénium code> était aussi simple que de taper le suivant dans Le cmd: p> xxx pré>

puis j'ai téléchargé le phanomjs-1.9.7-windows.zip code> de ici , la décompressait et placé ici ici: p> xxx pré>

de là j'ai eu un python de travail 2.7 / EXEMPLE SELENIUM WEBDRIVER / PHANTOMJS Pour Windows 7. P>

from selenium import webdriver
import os

phantomjs_path = "C:\Python27\misc\phantomjs-1.9.7-windows\phantomjs.exe"

browser = webdriver.PhantomJS(executable_path=phantomjs_path, service_log_path=os.path.devnull)
browser.set_window_size(1400, 1000)

browser.get("https://stackoverflow.com/")

print browser.title


0 commentaires

1
votes

J'ai eu le même problème à exécuter Python 3.4 sur Windows Server 2012 R2. Phantomjs ne parvienait pas à créer le fichier ghostdriver.log. J'ai suivi ces étapes qui le répètent pour moi:

  • a rendu sûr que Phantomjs.exe n'était pas affichant "bloqué" sur les propriétés du fichier | Onglet Security et l'a exécuté comme application autonome pour confirmer.
  • a supprimé une ancienne copie du fichier ghostdriver.log dans le même répertoire.
  • Ran Python Replez-la de la console lors de la vérification pour voir si le code instancié que le pilote était appelé avec succès. XXX


0 commentaires

0
votes

Avez-vous un autre fichier ou tout autre répertoire avec un même nom ou un fichier de codage (comme .. phantomjs.py) que vous avez nommé identique que Phantomjs est alors alors renommez-le à quelque chose d'autre . J'espère que ça marche


0 commentaires