selenium.common.exceptions.WebDriverException:消息:未知错误:无法使用镓和Docker杀死Chrome错误

时间:2018-10-23 16:43:27

标签: python selenium google-chrome docker selenium-chromedriver

每个方案运行之后,我们的测试将在远程Webdriver上执行.quit()-

getSelectHomeQueues(this.store).subscribe(...)

在docker容器中运行测试(Selenium Hub和Selenium-chrome版本 3.14.0-gallium

由于存在WebDriver异常,因此所有测试通过均得到假阴性。

 Quits the driver and closes every associated window.

这可以追溯到

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot kill Chrome
  (Session info: chrome=69.0.3497.100)
  (Driver info: chromedriver=2.42.591071 (0b695ff80972cc1a65a5cd643186d2ae582cd4ac),platform=Linux 4.14.67-coreos x86_64)

Chromedriver和Chrome版本应根据文档兼容。

1 个答案:

答案 0 :(得分:0)

此错误消息...

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot kill Chrome

...表示 Chrome浏览器进程未彻底终止


分析

根据Zombie docker containers with chrome:59螺线管 Docker 非常明显。

@IvanKrutov进一步确认:

  

Docker中仍然存在一些与容器删除有关的问题。

即使试图通过 docker rm -f 终止僵尸容器的方法也不起作用,并且被确认为 Docker 问题。


解决方案

删除容器的唯一方法是卸载文件系统,即删除/var/lib/aufs and restart docker


tl; dr

从另一角度看,根据Chrome.exe still running in background, Chrome will not relaunch upon closing

  • 关闭Chrome后,Chrome没有重新启动。
  • 已观察到 chrome.exe 仍在任务管理器中作为进程运行。
  • 强制关闭Chrome.exe将允许Chrome重新启动,否则Chrome将无法启动。
  • Google Chrome版本69.0.3497.100(正式版本)(64位)发布以来,此问题似乎再次浮出水面,并且 Google Chrome版本仍然存在70.x ,这是最近推送的。