【问题标题】:WebDriverError error: Chrome failed to start: exited abnormallyWebDriverError 错误:Chrome 无法启动:异常退出
【发布时间】:2017-06-16 20:01:24
【问题描述】:

我正在尝试在 ubuntu 14.04 vm(通过谷歌云)上运行量角器测试, 出于某种原因,当我运行“量角器 conf.js”时,我收到一条错误消息:

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

我按照以下任务安装无头 chrome: https://gist.github.com/alonisser/11192482

  • 在运行 protractor cons.js 之前,我正在运行 "webdriver-manager start"

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

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

  • 值得一提的是,在几个小时之前,一切都运行良好。 然后我就让我的mac休眠了,当然是退出了vm..

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

非常感谢!!!

【问题讨论】:

  • 您能否告诉我们您正在使用的 Chrome 和 Chromedriver 的版本。 Chrome 刚刚更新到 59 版,因此您需要 ChromeDriver 2.30
  • google-chrome --version -> Google Chrome 59.0.3071.104 chromedriver --version -> ChromeDriver 2.30.477691 还有:webdriver-manager@12.0.6protractor@5.1.2

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


【解决方案1】:

我在 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 的权限问题。它不允许“root”用户在没有 --no-sandbox 标志的情况下执行它

【讨论】:

  • no-sandbox 正是解决了我在 Azure 上的 Ubuntu Server 16.04 机器中的问题的原因。谢谢!
  • 它对我有用。对于更高版本,不推荐使用 arg chrome_options 并替换为选项。
  • 另外,在我的情况下,我不需要无沙盒选项。如果可能的话,不使用它似乎更安全。
【解决方案2】:

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

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

export DISPLAY=:99

之后

我还将命令 export DISPLAY=:99 添加到我的 start.sh 脚本中 顺序似乎很重要。运行Xvfb时可以忽略GLX的错误,没有它也可以工作。

【讨论】:

    猜你喜欢
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 2018-02-13
    • 2017-09-07
    • 1970-01-01
    • 2018-09-17
    • 2021-04-19
    相关资源
    最近更新 更多