c# - browser.download.manager.showWhenStarting 不能被覆盖

标签 c# selenium selenium-webdriver

我在 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/

相关文章:

java - 方法中的参数数量

java - Firefox headless (headless)在 headless (headless) Redhat Linux 机器上崩溃

c# - 像在 java 中一样在 C# 中继续 <label>

c# - 在 ASPX 中定义自定义对象时出现 NullReferenceException

c# - 如何在一个 WCF 请求中发送多个返回值?

java - 无法在 Selenium 3 中启动 Microsoft Edge 浏览器

python - Selenium ChromeDriver "get"无法可靠地加载@import 字体

c# - 无法在 C# 中正确获取命令行参数

javascript - 如何在 selenium 上检测带有原始窗口链接的 iframe 选项卡窗口

python - 是否可以像 Selenium 中的移动驱动程序一样使用 PhantomJS?