【问题标题】:driver.quit in selenium 3.0.2 firefox 50.1.0 firefox has stopped working硒 3.0.2 firefox 50.1.0 firefox 中的 driver.quit 已停止工作
【发布时间】:2016-12-22 09:06:57
【问题描述】:

我正在使用 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()

【问题讨论】:

标签: python selenium firefox selenium-webdriver


【解决方案1】:

尝试降级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 崩溃原因的类似信息。见:

相关:

【讨论】:

  • 好吧,降级 firefox 不是我尝试使用 48 和 49 两个版本的解决方案,最后我能够使用 chrome 来做到这一点
  • 可能是 selenium==2.53.6firefox==46.x 但 chrome 工作:)
  • 非常感谢您的时间和所有建议,是的,终于它与 chrome 欢呼声一起工作了
  • chromedriver = 'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe' os.environ["webdriver.chrome.driver"] = chromedriver #driver = webdriver.Chrome ('C:\Program Files (x86)\Google\Chrome\Application\chrome.exe') driver = webdriver.Chrome(chromedriver) driver.get('my.maerskline.com/webuser/login')
【解决方案2】:

这是在 windows server 2012 和 windows 8 上发生的错误。已报告 here。降级到 Firefox 48.0.2 应该可以修复它

【讨论】:

  • 是的,有几个人将此报告为错误,但 Mozilla 团队没有提供任何意见
  • @GAURAVCHHABRA 我正在使用 firefox 48 进行测试,直到他们修复它
【解决方案3】:

我在设置自己的 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看到这个)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多