per la mia ricerca, ho apportato alcune modifiche al codice sorgente in firefox e lo ho creato da solo. Per automatizzare i test, ho scelto di utilizzare Selenium, ma sfortunatamente il mio nuovo Firefox sembra non supportare Selenium.Firefox Build non funziona con Selenium
ho fatto la seguente:
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary("/path/to/firefox/binary")
d = webdriver.Firefox(firefox_binary=binary)
d.get("http://www.google.de")
La Firefox viene aperto ed è reattivo (posso entrare in un sito nella barra di ricerca). Ma dopo un po ', lo script python si blocca con il seguente messaggio di errore:
Traceback (most recent call last):
File "firefox.py", line 7, in <module>
d = webdriver.Firefox(firefox_binary=binary)
File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
self.binary, timeout),
File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__
self.binary.launch_browser(self.profile)
File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 66, in launch_browser
self._wait_until_connectable()
File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 109, in _wait_until_connectable
raise WebDriverException("Can't load the profile. Profile "
selenium.common.exceptions.WebDriverException: Message: Can't load the profile. Profile Dir: %s If you specified a log_file in the FirefoxBinary constructor, check it for details.
ho fatto Google che messaggio di errore e la maggior parte delle soluzioni proposte, che devo aggiornare selenio in quanto non supporta la versione di Firefox utilizzata. Sfortunatamente, ho installato la versione più recente di selenio (2.44.0) e ho persino usato una versione precedente di firefox (versione 33) per escludere quel punto.
Mi sono anche assicurato che le mie modifiche al codice non costituissero il motivo per cui si verificava un arresto anomalo costruendo un firefox pulito e non modificato. Anche il selenio non funziona con questo firefox.
Se non si specifica un file binario di firefox e si consente a Selenium di utilizzare Firefox installato, tutto funziona correttamente. Quindi la mia ipotesi è che qualcosa non funzioni con la build di firefox, cosa che ho fatto esattamente come menzionato nella documentazione online (ad esempio ./mach build).
Qualcuno ha un'idea, quale potrebbe essere il mio errore? Qualsiasi aiuto è molto apprezzato!
Alcune informazioni di configurazione:
- Firefox 33
- Selenio 2.44.0
- Python 3.4 (anche provato 2.7, non funziona neanche)
- Firefox costruire con Ubuntu 14.04
E 'questo un problema sporadico o costante? Sto vedendo anche questo, ma solo qualche volta (FF34, selenio2.44.0, python2.7, ubuntu12.04). Trovo strano che questo stia succedendo a te a metà sceneggiatura. NOTA che il profilo predefinito viene salvato nella directory/tmp a meno che tu non ne specifichi uno nuovo, quindi assicurati di non avere script o altro che possa eliminare il profilo. – Justin