driver.quit in selenium 3.0.2 firefox 50.1.0 firefox已停止工作

时间:2016-12-22 09:06:58

标签: python selenium firefox selenium-webdriver

enter image description here

我正在使用selenium 3与Firefox 50.1.0进行交互

当我正在运行driver.quit() Firefox在关闭浏览器时出错

driver.close()根本不起作用

这是版本问题吗?如果是我应该在Firefox中安装哪个版本

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('C:\Program Files (x86)\Mozilla Firefox\Firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)
driver.quit()

3 个答案:

答案 0 :(得分:0)

尝试降级firefox:

尝试使用其他驱动程序,chrome,edge,IE,opera。

基本上,尝试将selenium与驱动程序一起降级,直到找到可能selenium==2.53.6firefox==46.x

的版本为止

一旦找到可行的版本,请务必保存已关闭自动更新的配置文件,然后使用它,或者每次都将其关闭:

from selenium import webdriver

profile = webdriver.FirefoxProfile()
profile.set_preference('app.update.auto', False)
profile.set_preference('app.update.enabled', False)
profile.set_preference('app.update.silent', False)
downgraded_firefox = 'C:\Program Files (x86)\Mozilla Firefox\Firefox.exe'
binary = webdriver.FirefoxBinary(downgraded_firefox)
driver = webdriver.Firefox(profile, firefox_binary=binary)

参见个人资料示例:

如果单击弹出窗口的View problem details,您可能会找到有关firefox崩溃原因的类似信息。见:

相关:

答案 1 :(得分:0)

这是在Windows Server 2012和Windows 8上发生的错误。已经报告了 here。降级到firefox 48.0.2应该修复它

答案 2 :(得分:0)

在设置我自己的FirefoxProfile实例时,我遇到了Selenium 3.5和firefox 54的这个问题,例如:

var firefoxOptions = new FirefoxOptions() { Profile = new FirefoxProfile() };

这看起来像是Gecko / Firefox / Selenium中的一个错误,解决方法是在firefox配置文件首选项中设置“browser.tabs.remote.autostart.2 = false”。 例如:

var firefoxService = FirefoxDriverService.CreateDefaultService();

var firefoxProfile = new FirefoxProfile();
firefoxProfile.SetPreference("browser.tabs.remote.autostart.2", false);

var firefoxOptions = new FirefoxOptions() { Profile = firefoxProfile };

using (var webDriver = new FirefoxDriver(firefoxService, firefoxOptions, TimeSpan.FromMinutes(1)))
{
    webDriver.Navigate().GoToUrl("http://www.google.com");
}

(见https://github.com/SeleniumHQ/selenium/issues/2701