Firefox在驱动程序最后一个窗口关闭

时间:2017-07-11 07:05:30

标签: java selenium firefox crash geckodriver

我有一个项目,有时使用多个FF窗口,有时使用多个FF驱动程序。 在init期间,我创建一个自定义FirefoxProfile(或从Selenium加载默认值而不做任何更改),将其添加到DesiredCapabilities,向FirefoxOptions添加功能并使用FirefoxOptions启动FF。

测试用例执行正常,直到我需要关闭窗口:

driver.getWindowHandles().forEach(name -> driver.switchTo().window(name).close());

driver.quit();

在其中任何一个传递完成后,FF关闭并出现“Firefox已崩溃”弹出窗口。日志中没有例外。

enter image description here

如果删除FirefoxProfile,则不会显示崩溃弹出窗口,但需要FirefoxProfile才能启用Flash支持并执行更多操作。

使用:

  • Selenium 3.4.0
  • Firefox 54(32位)
  • Geckodriver 0.17(32位)
  • Windows 10,64位// Windows 7,64位

2 个答案:

答案 0 :(得分:6)

驱动程序无法正确终止Firefox创建的子进程,如flash。

https://github.com/mozilla/geckodriver/issues/285

要避开对话框,您可以将environemnt变量XRE_NO_WINDOWS_CRASH_DIALOG设置为1。

答案 1 :(得分:3)

是的,同样的错误也发生在我身上。 我已经尝试了所有可能性但除了降级firefox之外什么也没有用。

现在我已经46.01,这对我来说没有崩溃问题。