102 votes

Selenium: Exception de FirefoxProfile Impossible de charger le profil

Selon cette question précédente, j'ai mis à jour Selenium en version 2.0.1 Mais maintenant j'ai une autre erreur, même lorsque les fichiers de profil existent sous /tmp/webdriver-py-profilecopy:

  Fichier "/home/sultan/Repository/Django/monitor/app/request.py", ligne 236, dans perform
    navigateur = Firefox(profil)
  Fichier "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", ligne 46, dans \_\_init\_\_
    self.binary, timeout),
  Fichier "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension\_connection.py", ligne 46, dans \_\_init\_\_
    self.binary.launch\_browser(self.profile)
  Fichier "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox\_binary.py", ligne 44, dans launch\_browser
    self.\_wait\_until\_connectable() 
  Fichier "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox\_binary.py", ligne 87, dans \_wait\_until\_connectable
    raise WebDriverException("Impossible de charger le profil. Répertoire du profil : %s" % self.profile.path)
selenium.common.exceptions.WebDriverException: Impossible de charger le profil. Répertoire du profil : /tmp/webdriver-py-profilecopy

Qu'est-ce qui ne va pas? Comment puis-je résoudre ce problème?

4voto

Jeff Hoye Points 117

Si vous exécutez webdriver à partir de cygwin, le problème est que le chemin d'accès au profil est toujours au format POSIX, ce qui perturbe les programmes Windows. Ma solution utilise cygpath pour le convertir en format Windows.

dans ce fichier/méthode : selenium.webdriver.firefox.firefox_binary.launch_browser():

remplacez :

    self._start_from_profile_path(self.profile.path)

par :

    from subprocess import Popen, PIPE
    proc = Popen(['cygpath','-d',self.profile.path], stdout=PIPE, stderr=PIPE)
    stdout, stderr = proc.communicate()
    path = stdout.split('\n', 1)[0]

    self._start_from_profile_path(path)
    #self._start_from_profile_path(self.profile.path)

Étant donné que Python n'est même pas proche de mon langage de programmation principal, si quelqu'un peut recommander une approche plus pythonique, peut-être que nous pourrions l'intégrer à la distribution. Ce serait vraiment pratique si cela fonctionnait directement dans cygwin.

3voto

chillwx Points 31

J'ai eu le même problème et j'ai cru que c'était la mauvaise combinaison de selenium / Firefox. Il s'est avéré que les permissions du dossier .mozilla/ n'étaient accessibles qu'à l'utilisateur root. Faire chmod 770 ~/.mozilla/ a fait l'affaire. Je suggérerais de vérifier que ce n'est pas le problème avant de continuer le dépannage.

1voto

Rob Bednark Points 1663

pip install -U selenium

J'ai rencontré le même problème avec Firefox 34.0.5 (Dec 1, 2014) et le fait de mettre à jour Selenium de 2.42.1 à 2.44.0 a résolu mon problème.

Cependant, j'ai rencontré à nouveau ce problème, je pense avec la version 2.44.0, et une autre mise à jour l'a résolu. Je me demande donc si cela pourrait être résolu en désinstallant simplement et en ré-installant. Si c'est le cas, je ne suis pas sûr de ce que cela pourrait indiquer comme problème sous-jacent.

0voto

Rashid Points 14

J'utilisais selenium 2.53 et la version 55.0 de firefox. J'ai résolu ce problème en installant une version plus ancienne de firefox (46.0.1) car selenium 2.53 ne fonctionnera pas pour la version de firefox 47.0 et supérieure.

-1voto

Ce n'est pas une solution correcte mais ça a fonctionné pour moi, si quelqu'un peut améliorer je serais heureux de le savoir. J'ai simplement exécuté mon script en tant que root: sudo python myscript.py. Je suppose que je pourrais résoudre en modifiant le fichier de profil par défaut ou en changeant le répertoire de travail.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X