WebDriverError错误:Chrome无法启动:异常退出

时间:2017-06-16 20:01:25

标签: linux google-chrome protractor selenium-chromedriver xvfb

我正在尝试在ubuntu 14.04 vm上运行量角器测试(通过谷歌云), 出于某种原因,当我运行'protractor conf.js'时,我得到一个错误说:

E / launcher - WebDriverError:未知错误:Chrome无法启动:异常退出

我按照这个任务来安装无头镀铬: https://gist.github.com/alonisser/11192482

  • 在运行量角器cons.js之前,我正在运行“webdriver-manager start”

  • 当我运行'Xvfb -ac:2 -screen 0 1280x1024x16'当它到达时冻结 '初始化内置扩展GLX'

  • 我也尝试将conf.js更改为 chromeOptions:{    args:[“ - headless”,“ - disable-gpu”,“ - window-size = 800x600”]' 但是,量角器打印'开始'然后错误:'失败:未知错误:键码转换需要X显示,请考虑使用Xvfb'

  • 重要的是要提到它在几个小时之前都很好用。 然后我就让我的mac睡觉了,当然它是退出vm ..

  • 我在mac中使用量角器进行相同的测试,效果很好。 问题与实例vm上的chrome / chromeDriver有关。

非常感谢!!!

2 个答案:

答案 0 :(得分:9)

在AWS EC2机器上使用selenium + python 2.7 + chromedriver时遇到了类似的问题。

在我的情况下,我使用的是最新的无头功能,因此在ChromeOptions对象中添加“ no-sandbox ”参数就可以了。

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('headless')
chrome_options.add_argument('no-sandbox')
driver = webdriver.Chrome(chrome_options=chrome_options)

问题似乎是chrome的权限问题。如果没有--no-sandbox标志

,它不允许'root'用户执行它

答案 1 :(得分:2)

原来,答案就在我的问题中。

您应该运行命令 Xvfb -ac :99 -screen 0 1280x1024x16

export DISPLAY=:99

之后

我还在start.sh脚本中添加了命令 export DISPLAY=:99 订单似乎很重要。您可以在运行Xvfb时忽略GLX的错误,它可以在没有它的情况下工作。