I have following environment at my local Chrome 67 Python 3.5.0 Selenium 3.12.0
I have downloaded chromedriver with version 2.39
I have .py file as follows
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome(executable_path="hromedriver.exe")
driver.get('http://www.google.com')
time.sleep(5)
search_box = driver.find_element_by_name('q')
search_box.send_keys('Python')
search_box.submit()
time.sleep(5)
driver.quit()
I am getting following error.
C:\Python354\python.exe D:/formf.py
Traceback (most recent call last):
File "D:/PCPNDT/form.py", line 4, in <module>
driver = webdriver.Chrome(executable_path="chromedriver.exe") # Optional argument, if not specified will search path.
File "C:\Python354\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 68, in __init__
self.service.start()
File "C:\Python354\lib\site-packages\selenium\webdriver\common\service.py", line 104, in start
raise WebDriverException("Can not connect to the Service %s" % self.path)
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service chromedriver.exe
I also tried with other webdriver like geckodriver.exe still same error.
Please help me out to resolve this error.
Thanks!
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:This error message...
...implies that the the program/script was unable to initiate/spawn the
ChromeDriverService
through chromedriver.exe.The potential reason for the error can be:
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:
References
As per the discussion in selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service geckodriver:
127.0.0.1 localhost
to be explicitly set in the host file.TL;DR
How to reset the Hosts file back to the default
You've made a mistake into the executable address :
It should be :