【问题标题】:Selenium chromedriver crashes on some test runsSelenium chromedriver 在某些测试运行时崩溃
【发布时间】:2012-02-22 18:09:47
【问题描述】:

我有一组在 chromedriver 上运行的 python Selenium 测试,我发现某些测试偶尔会因为 chromedriver 崩溃而失败。

如果 chromedriver 在我的一项测试中崩溃,它几乎总是在该测试中的同一位置,但我查看了测试,似乎没有任何会导致崩溃的东西。通常它只是一个链接点击,似乎导致它。

我可以运行相同的测试两次,一次会通过,另一次会因为 chromedriver 崩溃而失败。

我正在运行最新版本的 selenium 独立服务器 (2.18.0)、Chrome 版本 17 和 python 版本 2.7.1。

有谁知道为什么会发生这种情况?

提前致谢!

【问题讨论】:

  • 2.19 已发布。一些代码,崩溃信息?
  • 我已经更新为使用 2.19,但我仍然遇到同样的问题。也没有得到任何崩溃信息,chrome 窗口只是崩溃(我看到了 Aw Snap 页面),最终我的测试将超时。
  • selenium 服务器的控制台输出。它会崩溃还是只有浏览器?随意去freenode上的#selenium。
  • 可能与python有关吗?你用 Java 试过了吗?
  • 只是浏览器崩溃了,我做了一些调试,看起来它甚至没有点击导致它崩溃的东西。单击链接并加载新页面后,它似乎崩溃了。难道只是我加载的页面ajax重,chromedriver处理不了?

标签: python selenium selenium-chromedriver


【解决方案1】:

chromedriver 中经常发生的情况是,当一个元素不在可见区域内时(例如,如果有垂直滚动条并且 web 元素不在该区域内)驱动程序会抛出 Element not clickable 错误,这本质上是在说您尝试单击的元素当前对用户不可见,尽管它存在于 DOM 中。 ie 和 FF 没有这个问题,因为它们会自动滚动到聚焦的 web 元素。

【讨论】:

    【解决方案2】:

    或者您可以尝试将鼠标指针移动到 0,0 坐标。因为点击事件不如firefox可靠。

    【讨论】: