selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service chromedriver.exe while opening chrome browser

At a first glance to your code trial it seems there is a minor bug in the value of the argument executable_path. Instead of hromedriver.exe it should have been:

# Windows OS
driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe')
# Linux OS
driver = webdriver.Chrome(executable_path="/path/to/chromedriver")

This error message…

selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service chromedriver.exe

…implies that the the program/script was unable to initiate/spawn the ChromeDriverService through chromedriver.exe.

The potential reason for the error can be:

  • Due to missing the entry 127.0.0.1 localhost in /etc/hosts

Solution

  • Windows OS – Add 127.0.0.1 localhost to /etc/hosts

  • Mac OSX – Ensure the following entries:

    127.0.0.1   localhost
    255.255.255.255 broadcasthost
    ::1 localhost
    fe80::1%lo0 localhost   
    

References

As per the discussion in selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service geckodriver:

  • Selenium does not require 127.0.0.1 localhost to be explicitly set in the host file.
  • However it is mandatory requirement to map localhost to the IPv4 local loopback (127.0.0.1)
  • The mechanism of this mapping does not have to be through the hosts file always.
  • On Windows OS systems it is not mapped in the hosts file at all (resolving localhost is done by the DNS resolver).

TL;DR

How to reset the Hosts file back to the default

Leave a Comment