机器人框架WebDriverException:消息:未知错误:Chrome无法启动:

时间:2019-03-11 14:48:16

标签: python-3.x google-chrome robotframework

当我使用机器人框架运行chrome浏览器打开测试用例时,观察到以下错误。

  

WebDriverException:消息:未知错误:Chrome无法启动:   退出异常

     

(未知错误:DevToolsActivePort文件不存在)

     

(从chrome位置/ usr / bin / google-chrome开始的过程是   不再运行,因此ChromeDriver假定Chrome具有   崩溃。)(驱动程序信息:chromedriver = 72.0.3626.69   (3c16f8a135abc0d4da2dff33804db79b849a7c38),平台= Linux   4.4.0-31-通用x86_64)

粘贴了以下机器人脚本:

*** settings ***

Library  Selenium2Library


*** Variables ***

${Browser}  Chrome
${URL}  https://www.google.com

*** Test Cases ***
TC001 Browser Start and Close
    Open Browser  ${URL}  ${Browser}

使用的Chrome版本:

  • Chrome版本72
  • ChromeDriver 72.0.3626.69

4 个答案:

答案 0 :(得分:0)

您还需要更新Selenium,如果使用最新版本的SeleniumLibrary(名称中的“ 2”已删除),则会得到更新。

使用新名称更新脚本并使用:

pip install -U robotframework-seleniumlibrary

答案 1 :(得分:0)

尝试将chrome驱动程序更改为基于2.45支持http://chromedriver.chromium.org/downloads 72版本的2.45版本。 :)

答案 2 :(得分:0)

我解决了!使用--no-sandbox

${chrome_options}=  Evaluate  sys.modules['selenium.webdriver'].ChromeOptions()  sys, selenium.webdriver
Call Method    ${chrome_options}    add_argument    test-type
Call Method    ${chrome_options}    add_argument    --disable-extensions
Call Method    ${chrome_options}    add_argument    --headless
Call Method    ${chrome_options}    add_argument    --disable-gpu
Call Method    ${chrome_options}    add_argument    --no-sandbox
Create Webdriver    Chrome    chrome_options=${chrome_options}

代替

Open Browser    about:blank    headlesschrome
Open Browser    about:blank    chrome

答案 3 :(得分:0)

这是对我有用的方法。打开浏览器时,我们必须传递chrome_options和chrome网络驱动程序路径。请在下面找到代码。

*** Settings ***
Library           Selenium2Library

*** Variables ***
${URL}            https://www.google.com
${CHROMEDRIVER_PATH}        /usr/local/bin/chromedriver

*** Keywords ***
Open Website
    ${chrome_options}=  Evaluate  sys.modules['selenium.webdriver'].ChromeOptions()  sys, selenium.webdriver
    Call Method    ${chrome_options}    add_argument    --no-sandbox
    Call Method    ${chrome_options}    add_argument    --headless
    Open Browser    ${URl}    chrome    options=${chrome_options}      executable_path=${CHROMEDRIVER_PATH}

*** Settings ***
Suite Setup       Open Website

注意: chrome_options executable_path 已直接传递给 Open Browser 命令,而不是创建Web驱动程序(由于某种原因,创建网络驱动程序对我不起作用。但是直接将参数传递给浏览器确实可以实现