➜ thePlatform python get-auth-token.py Traceback (most recent call last): File "get-auth-token.py", line 6, in driver = webdriver.Firefox() File "/usr/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 81, in __init__ self.binary, timeout) File "/usr/lib/python3.5/site-packages/selenium/webdriver/firefox/extension_connection.py", line 51, in __init__ self.binary.launch_browser(self.profile, timeout=timeout) File "/usr/lib/python3.5/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 68, in launch_browser self._wait_until_connectable(timeout=timeout) File "/usr/lib/python3.5/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 98, in _wait_until_connectable raise WebDriverException("The browser appears to have exited " selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.
A useless message. I downgraded to the “firefox-esr” (45.2.0-1) version available in the AUR, and my scripts worked perfectly again. For those not using Arch Linux, one can always downloaded past released versions from Mozilla’s website. Simply go to all Firefox downloads for your desired language/locale, but instead of clicking on the download link for your platform, copy the download location instead; simply change the version of 47.0 to 45.0 and you’ll have a Selenium-compatible version of Firefox once again. 🙂
Note that it is entirely possible to have multiple instances of Firefox installed on one’s machine.