我在C#项目上使用selenium webdriver for firefox。我使用NuGet包管理器安装了最新的webdriver(2.40)之后发生了这个错误:
'Class'的类型初始值设定项引发了异常。 ---> System.ArgumentException:Preference browser.download.manager.showWhenStarting可能无法覆盖: 冻结值= False,请求值= False。
我的代码:
FirefoxProfile profile = new FirefoxProfile();
profile.SetPreference("browser.download.manager.showWhenStarting", false);
webdriver = new FirefoxDriver(profile);
第二行引发错误。 你知道如何解决这个问题吗?
答案 0 :(得分:6)
最近更新了.NET绑定以匹配其他语言绑定的行为,使用预设的配置文件设置列表,如果需要FirefoxDriver
正常工作,其中一些设置不可更改。您尝试设置的首选项是“冻结”设置之一。它应该已经具有您尝试将其设置为的值。如果没有,则驱动程序中可能存在错误。
您可以验证设置是否符合您的要求,但查看异常详细信息:
示例:
profile.SetPreference("network.http.phishy-userpass-length", 255);
抛出错误:
System.ArgumentException:可能无法覆盖首选项network.http.phishy-userpass-length:冻结值= 255 ,请求值= 255
意味着冻结值已经正确,并且SetPreference()
可以被移除。