robot framework打开chrome时报错:chromedriver.exe已停止工作

robot framework打开chrome时报错:chromedriver.exe已停止工作

ride中打印的错误日志信息:

Starting test: Test.testweb
20170525 16:48:31.787 :  INFO : Opening browser 'chrome' to base url 'http://www.51ste.com'
20170525 16:50:07.473 :  FAIL : error: [Errno 10061] 
20170525 16:50:07.476 :  WARN : Keyword 'Capture Page Screenshot' could not be run on failure: error: [Errno 10061] 
20170525 16:50:07.479 :  FAIL : error: [Errno 10054] 
Ending test:   Test.testweb

在浏览器中顶部状态栏提示:您使用的是不受支持的命令行标记:--ignore-certificate-errors。稳定性和安全性会有所下降。

我已经根据网上建议,在_element.py中对关键字open_browser进行了改写:
 

def open_browser(self, url, browser='firefox', alias=None,remote_url=False,

        if remote_url:
            self._info("Opening browser '%s' to base url '%s' through remote server at '%s'"
                    % (browser, url, remote_url))
        else:
            self._info("Opening browser '%s' to base url '%s'" % (browser, url))
        browser_name = browser
        #browser = self._make_browser(browser_name,desired_capabilities,ff_profile_dir,remote_url)
        try:
            options = webdriver.ChromeOptions()
            options.add_experimental_option("excludeSwitches",["ignore-certificate-errors"])
            browser = webdriver.Chrome(chrome_options=options)
            browser.get(url)
        except:
            self._cache.register(browser, alias)
            self._debug("Opened browser with session id %s but failed to open url '%s'"
                        % (browser.session_id, url))
            raise
        self._debug('Opened browser with session id %s'
                    % browser.session_id)
        return self._cache.register(browser, alias)

这样导致的结果是,浏览器没有了状态提示。但仍然不能打开。。。

    最佳答案
  1. #1

    测试小酋(回复于:2017-05-25 05:05:59)

    应该是由于chromedriver的版本号过低导致的,在chromedriver下载地址中:https://chromedriver.storage.googleapis.com/index.html 下载一个最新版本的chromedriver即可,目前最新版本为2.29。

  2. #2

    菜菜(回复于:2017-05-25 04:05:26)

    谁知道有什么好的解决方案,不胜感激啊~~

  3. #3

    菜菜(回复于:2018-05-08 02:05:14)

    Windows下,在计算机系统变量Path中,加入下载到的driver存放目录,如:D:/drivers 这样完美解决问题



我的回答