C# Chromedriver:如何禁用PDF插件

C# Chromedriver:如何禁用PDF插件,c#,selenium,selenium-webdriver,automated-tests,selenium-chromedriver,C#,Selenium,Selenium Webdriver,Automated Tests,Selenium Chromedriver,为了模拟Firefox配置文件的设置功能,我需要确保禁用了用于Chrome的PDF查看器。在网上搜索之后,我找到的最接近的答案是这里 然而,尝试本页上的任何建议都没有成功 下面是我希望能够工作的代码片段 Dictionary<String, Object> plugin = new Dictionary<String, Object>(); plugin.Add("enabled", false );

为了模拟Firefox配置文件的设置功能,我需要确保禁用了用于Chrome的PDF查看器。在网上搜索之后,我找到的最接近的答案是这里

然而,尝试本页上的任何建议都没有成功

下面是我希望能够工作的代码片段

                Dictionary<String, Object> plugin = new Dictionary<String, Object>();
                plugin.Add("enabled", false );
                plugin.Add("name", "Chrome PDF Viewer");
                var options = new ChromeOptions();
                options.AddUserProfilePreference("plugins.plugins_list", plugin);                   

                driver = new ChromeDriver(options);
字典插件=新建字典();
plugin.Add(“enabled”,false);
plugin.Add(“name”,“chromepdfviewer”);
var options=新的ChromeOptions();
options.AddUserProfilePreference(“plugins.plugins\u list”,plugin);
驱动程序=新的色度驱动程序(可选);
有人能看出我到底做错了什么吗?这开始成为一个令人沮丧的问题

这对我有用(如果第一个链接是Chrome PDF Viewer


我发现Selenium.WebDriver 2.53m、ChromeDriver 2.25.426923和ChromeV55.0.2883.87M都可以使用


对于Chrome 57,我不得不使用这一行:

options.AddUserProfilePreference("plugins.always_open_pdf_externally", true);
此外,如果您需要自己设置插件,您可以如下所示:

  • 导航到chrome://settings/content (菜单>设置,显示高级设置…,内容设置…)
  • 找到特定首选项(仅复选框)
  • 右键单击并检查复选框
  • 首选项名称是整个“pref”属性的值

  • 您是否正在尝试使用Selenium与PDF交互?当插件被禁用时,单击指向PDF的链接将使其下载到默认目录。这就是为什么我需要找到一种在Startup上禁用chrome PDF viewer插件的方法。您只需通过访问chrome://plugins/ 在地址栏中。我将在测试启动时尝试这样做
        var options = new ChromeOptions();
        options.AddUserProfilePreference("plugins.plugins_disabled", new []{"Chrome PDF Viewer"});
        driver = new ChromeDriver(options);
    
    options.AddUserProfilePreference("plugins.always_open_pdf_externally", true);