Windows 7下的Selenium无法启动FirefoxDriver:无法加载配置文件

时间:2016-02-02 11:11:07

标签: python firefox selenium

我看到了许多类似于猛犸垃圾的类似问题,它们会介绍Firefox 22或类似的问题。我遇到了同样的问题: Can't load the profile. Profile Dir: c:\users\alp\appdata\local\temp\tmprcb81b

Unittest启动firefox,成功创建%temp%中的配置文件目录,但超时失败并显示指定的错误消息。我正在使用最新的Firefox(45.0b,多处理)和Python 2.7.11

我尝试了什么:

  • 我尝试降级到版本40.0(单个处理)并删除我的个人资料目录。它不起作用。
  • 我尝试将Selenium升级到最新版本(pip install -U selemiun)。 Pip从2.5.0升级到2.5.1,没有任何影响。
  • 我将日志文件添加到FirefoxBinary,它甚至不包含WARN符号。根据日志,它看起来像Firefox正常启动并且没有任何原因停止。
  • 我尝试删除整个存储库,获取新存储库并重新运行单元测试。
  • 最后我使用Python 2.7.11,git,Firefox 40.0克隆repo创建了虚拟机,并再次开始测试。没有运气。

我对此感到非常生气,并且没有任何想法如何解决这个问题。你有吗?

1 个答案:

答案 0 :(得分:1)

我现在还没有找到解决方案 ,但原因很明显。那时,Windows 7 x64下的Firefox> = 44不支持注入Selenium的插件。它可以很容易地检查 - 一旦Firefox启动(然而对于selenium的引擎是不可见的)类型about:addons并检查"扩展"标签。在旧版本的插件" WebDriver for Firefox"只标记为"未签名且有潜在危险"。在较新的那些它被禁用。

我目前的解决方法(我不想降级我的主浏览器)是下载FireFox Portable,把它放在某处并用二进制实例化驱动程序:

self.driver = webdriver.Firefox(profile,    
    firefox_binary=FirefoxBinary(firefox_path=r'D:\path\to\old\crap\FireFox37\firefox.exe '))