Python Selenium“无法连接到Linux服务器中的服务%s”%self.path

时间:2018-06-08 03:51:15

标签: python-3.x selenium selenium-webdriver

Traceback (most recent call last):

  File "testing.py", line 20, in <module>
    driver = webdriver.Chrome(executable_path="/home/cavema11/public_html/testing.py")
  File "/opt/python-3.6.4/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 68, in __init__
    self.service.start()
  File "/opt/python-3.6.4/lib/python3.6/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 /home/cavema11/public_html/testing.py

我的/ etc / hosts中有127.0.0.1 localhost,但仍然出现此错误。

请帮帮我。

谢谢

1 个答案:

答案 0 :(得分:3)

通过参数executable_path,您需要传递 ChromeDriver 的绝对路径,而不是任何其他文件。所以你需要改变:

driver = webdriver.Chrome(executable_path="/home/cavema11/public_html/testing.py")

要:

driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

更新

  • 确保您已从以下基础操作系统的download location下载 ChromeDriver 二进制文件的确切格式:

    • chromedriver_linux64.zip :对于 Linux OS
    • chromedriver_mac64.zip :对于 Mac OSX
    • chromedriver_win32.zip :适用于 Windows操作系统
  • 确保/etc/hosts文件包含以下条目:

    127.0.0.1 localhost 
    
  • 确保 ChromeDriver 二进制文件具有非root 用户的可执行权限。

  • 确保您已通过参数executable_path传递了 ChromeDriver 二进制文件的正确绝对路径。 (chmod 777)
  • 非root 用户身份执行测试