pythonpython-2.7seleniumselenium-firefoxdriverfirefox-driver

Error on Firefox Driver using Selenium/Python


I'm getting an error when trying to execute a simple python script using Selenium. Here are the script and the error along with my environment information (I'm using a virtual environment). (I get a different error when I try to use the Chrome driver). Any help would be greatly appreciated.

// SCRIPT //

import mechanize
import urllib2 #requests web pages
from selenium import webdriver
from selenium.common.exceptions import NoSuchAttributeException
from selenium.webdriver.common.keys import Keys #allows us to press keys

import os
import re #regular expressions module

br = mechanize.Browser()
br.set_handle_robots(False)
br.set_handle_refresh(False)
br.addheaders = [('User-agent','Firefox')]

browser = webdriver.Firefox()
browser.get("http://applebees.com")

//ERROR//

Traceback (most recent call last):
  File "scraper_test.py", line 18, in <module>
    browser = webdriver.Firefox()
  File "/Users/rachael/workspace/rbexplorations/email_scraping_challenge/venv/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 77, in __init__
    self.binary, timeout),
  File "/Users/rachael/workspace/rbexplorations/email_scraping_challenge/venv/lib/python2.7/site-packages/selenium/webdriver/firefox/extension_connection.py", line 49, in __init__
    self.binary.launch_browser(self.profile)
  File "/Users/rachael/workspace/rbexplorations/email_scraping_challenge/venv/lib/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 67, in launch_browser
    self._start_from_profile_path(self.profile.path)
  File "/Users/rachael/workspace/rbexplorations/email_scraping_challenge/venv/lib/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 90, in _start_from_profile_path
    env=self._firefox_env)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

// INFO ABOUT MY ENVIRONMENT //

python 2.7.10 mechanize (0.2.5) pip (7.1.2) selenium (2.48.0) setuptools (18.2) wheel (0.24.0) OSX 10.11.2


Solution

  • This error happens when Selenium didn't find Firefox installation directory / firefox executable in its default location. Uninstall and Reinstall firefox with its default settings and run the script again.

    Some of the links discussing about this issue:

    https://code.google.com/p/selenium/issues/detail?id=6584

    Selenium: FirefoxProfile fails with not found exception

    How to deal with OSErrors with selenium?