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

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

实际上我修复了路径问题,因为如果问题与路径有关,则错误消息会有所不同

Actually I fixed the path issue, because the error message was different if the issue was with path

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

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

If the path was wrong I will receive some other error, but now the error is while making the connection


解决方案


适用于 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.终于可以执行代码了.


For Linux

1. Check you have installed latest version of chrome brwoser-> "chromium-browser -version"
2. If not, install latest version of chrome "sudo apt-get install chromium-browser"
3. get appropriate version of chrome driver from following link http://chromedriver.storage.googleapis.com/index.html
4. Unzip the chromedriver.zip
5. Move the file to /usr/bin/ directory sudo mv chromedriver /usr/bin/
6. Goto /usr/bin/ directory and you would need to run something like "chmod a+x chromedriver" to mark it executable.
7. finally you can execute the code.

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

相关文章