更新时间:2022-12-05 18:22:06
帮助我指定了二进制文件firefox的显式路径
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary(/ home / teddy / firefox / firefox)
driver = webdriver.Firefox(firefox_binary = binary)
I try firing up Firefox using Selenium WebDriver and get the following error:
---------------------------------------------------------------------------
WebDriverException Traceback (most recent call last)
<ipython-input-10-9e1140c380e1> in <module>()
----> 1 t = tweepi.Tweepi(username, 0, profile_name)
/home/ubuntu/twitter/tweepi.pyc in __init__(self, username, threadid, profilename)
22 profile = webdriver.FirefoxProfile(profilename)
23 self.logger.debug('launching firefox')
---> 24 self.driver = webdriver.Firefox(firefox_profile = profile)
25 else:
26 self.driver = webdriver.Firefox()
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.pyc in __init__(self, firefox_profile, firefox_binary, timeout, capabilities, proxy)
57 RemoteWebDriver.__init__(self,
58 command_executor=ExtensionConnection("127.0.0.1", self.profile,
---> 59 self.binary, timeout),
60 desired_capabilities=capabilities,
61 keep_alive=True)
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.pyc in __init__(self, host, firefox_profile, firefox_binary, timeout)
45 self.profile.add_extension()
46
---> 47 self.binary.launch_browser(self.profile)
48 _URL = "http://%s:%d/hub" % (HOST, PORT)
49 RemoteConnection.__init__(
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.pyc in launch_browser(self, profile)
62
63 self._start_from_profile_path(self.profile.path)
---> 64 self._wait_until_connectable()
65
66 def kill(self):
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.pyc in _wait_until_connectable(self)
106 raise WebDriverException("Can't load the profile. Profile "
107 "Dir: %s Firefox output: %s" % (
--> 108 self.profile.path, self._get_firefox_output()))
109 count += 1
110 time.sleep(1)
WebDriverException: Message: "Can't load the profile. Profile Dir: /tmp/tmp4nBIo5/webdriver-py-profilecopy Firefox output: None"
Now, every other similar thread I found here on *** says the solution is to update selenium by using the command
pip install -U selenium
This fixed the problem on my local computer, but the problem persists on my remote computer on AWS. These two computers have the same Firefox version, both have selenium up-to-date and they even have the exact same profile folder on ~/.mozilla/firefox.
Any suggestions?
EDIT:
I can start Firefox without the profile. That is, doing
w = webdriver.Firefox()
works, whereas doing
profile_name = '/home/ubuntu/.mozilla/firefox/amozqob6.profile6'
profile = webdriver.FirefoxProfile(profile_name)
w = webdriver.Firefox(firefox_profile=profile)
gets the above error message.
EDIT2:
Running the Firefox executable directly works:
firefox -profile ~/.mozilla/firefox/amozqob6.profile6
helped me to specify an explicit path to the binary file firefox
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary("/home/teddy/firefox/firefox")
driver = webdriver.Firefox(firefox_binary=binary)