WebDriverException:消息:“无法连接到 ChromeDriver”。 utils.is_connectable(self.port) 错误:

新手上路,请多包涵

我正在尝试使用 chromedriver 2.10 在 CentOS 机器上的 Chrome 浏览器版本 35.0.1916.114 上运行我的测试

/home/varunm/EC_WTF_0.4.10/EC_WTF0.4.10_Project/wtframework/wtf/drivers/chromedriver

实际上我解决了路径问题,因为如果问题出在路径上,错误消息会有所不同

    def start(self):
    """
    Starts the ChromeDriver Service.

    :Exceptions:
     - WebDriverException : Raised either when it can't start the service
       or when it can't connect to the service
    """
    env = self.env or os.environ
    try:
        self.process = subprocess.Popen([
          self.path,
          "--port=%d" % self.port] +
          self.service_args, env=env, stdout=PIPE, stderr=PIPE)
    except:
        raise WebDriverException(
            "ChromeDriver executable needs to be available in the path. \
            Please download from http://chromedriver.storage.googleapis.com/index.html\
            and read up at http://code.google.com/p/selenium/wiki/ChromeDriver")
    count = 0
    while not utils.is_connectable(self.port):
        count += 1
        time.sleep(1)
        if count == 30:
             raise WebDriverException("Can not connect to the ChromeDriver")

如果路径错误,我会收到一些其他错误,但现在错误是在建立连接时

原文由 kvm006 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 678
2 个回答

对于 Linux

1. 检查你是否安装了最新版本的 chrome brwoser-> “chromium-browser -version”

2. 如果没有,安装最新版本的 chrome “sudo apt-get install chromium-browser”

3. 从以下链接获取适当版本的 chrome 驱动程序 http://chromedriver.storage.googleapis.com/index.html

4.解压chromedriver.zip

5. 将文件移动到 /usr/bin/ 目录 sudo mv chromedriver /usr/bin/

6. 转到 /usr/bin/ 目录,您需要运行类似“ chmod a+x chromedriver ”的命令来将其标记为可执行文件。

7.终于可以执行代码了。

 import os
from selenium import webdriver
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
driver = webdriver.Chrome()
driver.get("http://www.google.com")
print driver.page_source.encode('utf-8')
driver.quit()
display.stop()

原文由 Vicky 发布,翻译遵循 CC BY-SA 3.0 许可协议

验证行 127.0.0.1 localhost 是否已添加到您的 /etc/hosts 文件中并取消注释。这是我的一些同事遇到的问题,删除此行后我能够重现它。把它加回去解决了问题。

原文由 Ramona Suciu 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题