Aufgrund dieser vorherigen Frage habe ich Selenium auf Version 2.0.1 aktualisiert. Jetzt habe ich einen weiteren Fehler, auch wenn die Profildateien unter /tmp/webdriver-py-profilecopy
:
Datei "/home/sultan/Repository/Django/monitor/app/request.py", Zeile 236, in perform browser = Firefox (Profil) Datei "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", Zeile 46, in __init__ self.binary, timeout), Datei "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py", Zeile 46, in __init__ self.binary.launch_browser (self.profile) Datei "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", Zeile 44, in launch_browser self._wait_until_connectable () Datei "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", Zeile 87, in _wait_until_connectable WebDriverException auslösen ("Profil kann nicht geladen werden. Profilverzeichnis:% s"% self.profile.path) selenium.common.exceptions.WebDriverException: Das Profil kann nicht geladen werden. Profil Dir: / tmp / webdriver-py-profilecopy
Was ist falsch? Wie kann ich dieses Problem beheben?
sudo
ist erforderlich, wenn Sie nicht als root angemeldet sind. Jedenfalls war dies ein Lebensretter! Vielen Dank!!sudo
wenn Sie eine verwendenvirtualenv
(die Sie wahrscheinlich verwenden sollten).Ich hatte das gleiche Problem nach dem Upgrade von Ubuntu auf 12.04.
Das Problem war paketseitig und wurde in der neuesten Version der Bibliothek behoben. Aktualisieren Sie einfach die Selenbibliothek. Für fast alle Python-Umgebungen gilt Folgendes:
quelle
Ich hatte das gleiche Problem mit FF 32.0 und Selen Selen-2.42.1-py2.7.egg. Versucht, Selen zu aktualisieren, aber es ist bereits die neueste Version. Die Lösung bestand darin, Firefox auf Version 30 herunterzustufen. Hier ist der Prozess:
Dies löste alle Probleme und diese Kombination funktioniert besser!
quelle
Als Erweiterung von Jeff Hoyes Antwort wäre ein eher pythonischer Weg, die Unterklasse
webdriver.firefox.firefox_profile.FirefoxProfile
wie folgt zu unterteilen:So erstellen Sie Ihren Treiber:
quelle
Wenn
pip install -U selenium
dies nicht funktioniert (in meinem Fall nicht), versuchen Sie, Ihren Firefox auf eine frühere Version herunterzustufen.Ich hatte Firefox 49.0 und wurde auf 45.0 heruntergestuft, um sicherzustellen, dass die Version von Selen unterstützt wird. Es hat dann perfekt funktioniert.
Hier ist ein schneller Weg zum Downgrade auf Firefox 45.0:
Hoffe das hilft.
quelle
Wenn Sie einen Webdriver von Cygwin aus ausführen, besteht das Problem darin, dass der Pfad zum Profil immer noch im POSIX-Format vorliegt, was Windows-Programme verwirrt. Meine Lösung verwendet Cygpath, um es in das Windows-Format zu konvertieren.
in dieser Datei / Methode: selenium.webdriver.firefox.firefox_binary.launch_browser ():
ersetzen:
mit:
Da Python nicht einmal meiner primären Programmiersprache nahe kommt, können wir es vielleicht in die Distribution verschieben, wenn jemand einen pythonischeren Ansatz empfehlen kann. Es wäre sicher praktisch, wenn es in Cygwin sofort funktionieren würde.
quelle
Ich hatte das gleiche Problem und glaubte, es sei die falsche Kombination aus Selen / Firefox. Es stellte sich heraus, dass meine .mozilla / Ordner-Berechtigungen nur dem Root-Benutzer zugänglich waren. Das
chmod 770 ~/.mozilla/
hat den Trick gemacht. Ich würde vorschlagen, sicherzustellen, dass dies nicht das Problem ist, bevor Sie die Fehlerbehebung fortsetzen.quelle
pip install -U selenium
Ich hatte das gleiche Problem mit
Firefox 34.0.5 (Dec 1, 2014)
Selenium und ein Upgrade von2.42.1
,2.44.0
um mein Problem zu beheben.Allerdings habe ich dieses Problem seitdem wieder gesehen, denke ich mit 2.44.0, und ein anderes Upgrade hat es behoben. Ich frage mich also, ob es möglicherweise durch einfaches Deinstallieren und erneutes Installieren behoben werden kann. Wenn ja, bin ich mir nicht sicher, was das zugrunde liegende Problem bedeuten würde.
quelle
Ich habe Selen 2.53 und Firefox Version 55.0 verwendet. Ich habe dieses Problem durch die Installation der älteren Version von Firefox (46.0.1) gelöst, da Selen 2.53 für Firefox Version 47.0 und höher nicht funktioniert.
quelle
Dies ist keine richtige Lösung, hat aber für mich funktioniert. Wenn sich jemand verbessern kann, würde ich mich freuen, es zu wissen. Ich führe mein Skript einfach als root aus :
sudo python myscript.py
. Ich denke, ich kann lösen, indem ich die Standarddatei des Profils ändere oder das Verzeichnis funktionieren könnte.quelle