E.Z.
E.Z.

Reputation: 6661

Selenium WebDriver: Firefox starts, but does not open the URL

I've just installed Selenium for the first time, and I'm having trouble to get started.

Installation went fine with pip:

pip install selenium

And I can import selenium within Python.

Now I'm trying to run the following sample script:

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title

What happens is that Firefox opens, but it does not navigate to "http://www.python.org" (similar to the behaviour described in this question - it only shows a blank page)

For about 60 seconds nothing happens, until the following exception raised:

Traceback (most recent call last):
  File "selenium-test.py", line 4, in <module>
    driver = webdriver.Firefox()
  File "/home/usr1/.local/lib/python2.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 61, in __init__
    desired_capabilities=capabilities)
  File "/home/usr1/.local/lib/python2.6/site-packages/selenium/webdriver/remote/webdriver.py", line 72, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "/home/usr1/.local/lib/python2.6/site-packages/selenium/webdriver/remote/webdriver.py", line 114, in start_session
    'desiredCapabilities': desired_capabilities,
  File "/home/usr1/.local/lib/python2.6/site-packages/selenium/webdriver/remote/webdriver.py", line 165, in execute
    self.error_handler.check_response(response)
  File "/home/usr1/.local/lib/python2.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 136, in check_response
    raise exception_class(value)
selenium.common.exceptions.WebDriverException: Message: u'<HTML><HEAD>\r\n<TITLE>Network Error</TITLE>\r\n</HEAD>\r\n<BODY>\r\n<FONT face="Helvetica">\r\n<big><strong></strong></big><BR>\r\n</FONT>\r\n<blockquote>\r\n<TABLE border=0 cellPadding=1 width="80%">\r\n<TR><TD>\r\n<FONT face="Helvetica">\r\n<big>Network Error (tcp_error)</big>\r\n<BR>\r\n<BR>\r\n</FONT>\r\n</TD></TR>\r\n<TR><TD>\r\n<FONT face="Helvetica">\r\nA communication error occurred: "Operation timed out"\r\n</FONT>\r\n</TD></TR>\r\n<TR><TD>\r\n<FONT face="Helvetica">\r\nThe Web Server may be down, too busy, or experiencing other problems preventing it from responding to requests. You may wish to try again at a later time.\r\n</FONT>\r\n</TD></TR>\r\n<TR><TD>\r\n<FONT face="Helvetica" SIZE=2>\r\n<BR>\r\nFor assistance, contact your network support team.\r\n</FONT>\r\n</TD></TR>\r\n</TABLE>\r\n</blockquote>\r\n</FONT>\r\n</BODY></HTML>'

These are the software versions

Upvotes: 16

Views: 31693

Answers (4)

Akshay
Akshay

Reputation: 1

I had the same issue i referred the link to check the version of gecko driver : https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html

Download the version accordingly which fixed the issue

Upvotes: -1

ManSunday
ManSunday

Reputation: 1

Please also try turning off your localhost(127.0.0.1) web server if you have any running on the usual port 80.

The Firefox Binary does not allow you to load the profile if there is a localhost server running.

See line 81 in selenium\webdriver\firefox\firefox_binary.py which points to the function / method is_connectable(self)

def is_connectable(self):

    """Trys to connect to the extension but do not retrieve context."""
    try:
        socket_ = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        socket_.settimeout(1)
        socket_.connect(("127.0.0.1", self.profile.port))
        socket_.close()
        return True
    except socket.error:
        return False

GLHF

Upvotes: 0

Dharma Krish
Dharma Krish

Reputation: 49

Needs to upgrade the selenium, If you are using Latest version of Firefox, you should use latest version of selenium

For Python, Enter this command

pip install -U selenium

For Java, Remove the old jar and Download Latest Version from here http://www.seleniumhq.org/download/ and Attach into build path. It will work find . Happy Testing with Firefox

Upvotes: 2

E.Z.
E.Z.

Reputation: 6661

Ok, after searching around for a while I noticed that usually the problem was a bug in Selenium (possible, but rather unlikely), or a proxy issue. Still, none of the answers suggesting how to solve the proxy issue seemed to work.

Finally I got it: you need to unset all proxy settings everywhere (environment variables, and - in my case this was the issue- on Gnome). Later when you create the webdriver, you need to pass a profile which sets the browser proxy settings to what you actually use (in my case an automatic config url)

1) Unset the http_proxy environment variable (which is used by urllib)

export http_proxy=

2) Cleared Gnome proxy settings: System --> Preferences --> Network Proxy --> Select "Direct Internet Connection"

3) Started webdriver.Firefox() with a profile which configures the proxy (in this case it's an automatic proxy configuration)

fp = webdriver.FirefoxProfile()
# Here "2" stands for "Automatic Proxy Configuration"
fp.set_preference("network.proxy.type", 2)
fp.set_preference("network.proxy.autoconfig_url",
                  "http://proxy-address-here:8080/") 
driver = webdriver.Firefox(firefox_profile=fp)

Upvotes: 5

Related Questions