peacecoder peacecoder - 1 month ago 19
Python Question

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

Answer

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?