我在 C# 项目上为 firefox 使用 selenium webdriver。在我使用 NuGet 包管理器安装最新的 webdriver (2.40) 后,出现了这个错误:
The type initializer for 'Class' threw an exception. ---> System.ArgumentException: Preference browser.download.manager.showWhenStarting may not be overridden: frozen value=False, requested value=False.
我的代码:
FirefoxProfile profile = new FirefoxProfile();
profile.SetPreference("browser.download.manager.showWhenStarting", false);
webdriver = new FirefoxDriver(profile);
错误出现在第二行。 您知道如何解决这个问题吗?
最佳答案
最近更新了 .NET 绑定(bind)以匹配其他语言绑定(bind)的行为,使用预设的配置文件设置列表,如果希望 FirefoxDriver
正常工作,其中一些设置是不可更改的。您尝试设置的首选项是那些“卡住”设置之一。它应该已经具有您尝试设置的值。如果没有,则驱动程序中可能存在错误。
您可以验证设置是否已经是您想要的,但查看异常详细信息:
示例:
profile.SetPreference("network.http.phishy-userpass-length", 255);
抛出错误:
System.ArgumentException: Preference network.http.phishy-userpass-length may not be overridden: frozen value=255, requested value=255
这意味着卡住的值已经是正确的,并且可以删除 SetPreference()
。
关于c# - browser.download.manager.showWhenStarting 不能被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21930453/