繁体   English   中英

selenium.common.exceptions.WebDriverException:消息:打开chrome浏览器时无法连接到服务chromedriver.exe

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

我的本地Chrome 67 Python 3.5.0 Selenium 3.12.0具有以下环境

我已经下载了版本2.39的chromedriver

我有.py文件,如下

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()

我收到以下错误。

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

我也尝试过使用其他网络驱动程序,例如geckodriver.exe仍然是相同的错误。

请帮助我解决此错误。

谢谢!

乍一看,您的代码试用似乎在参数 execute_path中存在一个小错误。 代替hromedriver.exe它应该是:

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

此错误消息...

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

......意味着程序/脚本无法启动/产卵ChromeDriverService通过chromedriver.exe。

该错误的潜在原因可能是:

  • 由于缺少/etc/hosts的条目127.0.0.1 localhost

  • Windows操作系统 -将127.0.0.1 localhost /etc/hosts添加到/etc/hosts

  • Mac OSX-确保输入以下内容:

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

参考

根据selenium.common.exceptions.WebDriverException中的讨论:消息:无法连接到服务geckodriver

  • Selenium不需要在主机文件中显式设置127.0.0.1 localhost
  • 但是,必须将本地主机映射到IPv4本地环回(127.0.0.1)
  • 这种映射的机制不必总是通过hosts文件。
  • Windows OS系统上,它根本没有映射到hosts文件中(解析localhost由DNS解析器完成)。

TL; DR

如何将主机文件重置为默认值

您在可执行文件地址中犯了一个错误:

driver = webdriver.Chrome(executable_path="hromedriver.exe")

它应该是 :

driver = webdriver.Chrome(executable_path="chromedriver.exe")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM