для моих исследований я сделал некоторые модификации исходного кода в firefox и сам построил. Чтобы автоматизировать тестирование, я решил использовать Selenium, но, к сожалению, мой недавно созданный Firefox, похоже, не поддерживает Selenium.
Я сделал следующее:
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")
Firefox действительно работает и реагирует (я могу ввести веб-сайт в панель поиска). Но через некоторое время python script выйдет со следующим сообщением об ошибке:
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.
Я сделал google, что сообщение об ошибке и большинство предлагаемых решений, что я должен обновить Selenium, поскольку он не поддерживает используемую версию Firefox. К сожалению, я установил новейшую версию селена (2.44.0), и я даже использовал более старую версию firefox (версия 33), чтобы исключить эту точку.
Я также убедился, что мои модификации кода не являются причиной для этого, создавая чистый, немодифицированный firefox. Selenium также не работает с этим firefox.
Если я не укажу бинарник firefox и не позволю Selenium использовать установленный Firefox, все будет хорошо. Поэтому я предполагаю, что с сборкой firefox что-то не так, что я сделал точно так, как указано в онлайн-документации (например,./mach build).
Есть ли у кого-нибудь идея, какова моя ошибка? Любая помощь очень ценится!
Некоторые сведения об установке:
- Firefox 33
- Selenium 2.44.0
- Python 3.4 (также пытался 2.7, тоже не работает)
- Firefox с помощью Ubuntu 14.04