首页 文章

Selenium-Firefox:运行我的Selenium脚本时Firefox浏览器崩溃[重复]

提问于
浏览
5

这个问题在这里已有答案:

我正在运行一些我今天在Selenium-Python中开发的脚本 . 他们工作得很好 . 当我关闭一个窗口并重新开始测试时,打开的Firefox浏览器会崩溃,我的脚本会失败 . 字面上发生了一秒到下一秒 . 我不确定导致这种情况发生了什么变化 .

我在我的机器上运行Selenium 2.53和Firefox 47 . 偶尔当我尝试再次运行我的脚本时,我会在Pycharm中遇到此运行错误:

文件“C:\ Python34 \ lib \ site-packages \ selenium \ webdriver \ firefox \ firefox_binary.py”,第98行,在_wait_until_connectable中引发WebDriverException(“浏览器似乎已退出”selenium.common.exceptions.WebDriverException:消息:在我们连接之前,浏览器似乎已经退出 . 如果在FirefoxBinary构造函数中指定了log_file,请检查它是否有详细信息 .

通常我手动关闭打开的崩溃的FireFox浏览器时会出错 . 关于发生了什么的任何想法?

3 回答

  • 2

    我也遇到过Firefox 47和Selenium的问题 . 您可以尝试恢复到以前版本的Firefox并禁用更新 .

    可以在此处找到以前版本的Firefox以及有关如何禁用自动更新的说明:https://support.mozilla.org/en-US/kb/install-older-version-of-firefox

  • 2

    根据Firefox 47 release notes(2016年6月7日):

    未解决:Selenium WebDriver可能会导致Firefox在启动时崩溃,而是使用Marionette WebDriver

  • 2

    我想稍微纠正以前的答案 . 工作示例如下:

    初步:

    # -*- coding: utf-8 -*-
    
    import os
    from selenium import webdriver
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    
    firefox_capabilities = DesiredCapabilities.FIREFOX
    firefox_capabilities['marionette'] = True
    gecko = os.path.normpath(os.path.join(os.path.dirname(__file__), 'geckodriver'))
    browser = webdriver.Firefox(capabilities=firefox_capabilities, executable_path=gecko+'.exe')
    
    browser.get('http:///www.google.com')
    browser.close()
    # browser.quit()
    

相关问题