【问题标题】:selenium.common.exceptions.WebDriverException: Message: unknown error: cannot kill Chrome error with gallium and Dockerselenium.common.exceptions.WebDriverException:消息:未知错误:无法使用镓和 Docker 杀死 Chrome 错误
【发布时间】:2019-03-27 23:39:11
【问题描述】:

在每个场景运行后,我们的测试将在远程 webdriver 上执行 .quit() -

 Quits the driver and closes every associated window.

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

由于存在 WebDriver 异常,所有测试都通过了,但结果为假阴性。

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)

这要追溯到

python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 606, in quit
    self.execute(Command.QUIT)

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

【问题讨论】:

  • 我曾经在运行多个 chromedriver.exe 进程时遇到很多错误。也许检查您的进程列表,看看其中是否有多个这些进程。

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


【解决方案1】:

此错误消息...

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

...暗示 Chrome 浏览器进程未被彻底杀死


分析

根据Zombie docker containers with chrome:59,这个问题在 selenoidDocker 中非常明显。

@IvanKrutov 进一步证实:

Docker 中仍然存在一些容器移除问题。

即使尝试通过 docker rm -f 终止 僵尸容器​​em> 似乎也不起作用,并且已确认是 Docker 问题.


解决方案

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


tl;博士

换个角度看,照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

【讨论】:

  • 这个分析和解决方案与提出的问题无关。
猜你喜欢
  • 1970-01-01
  • 2019-02-27
  • 2020-10-16
  • 1970-01-01
  • 1970-01-01
  • 2020-11-01
  • 2020-04-16
  • 1970-01-01
  • 2017-10-23
相关资源
最近更新 更多