Chromedriver:如何禁用PDF插件

时间:2016-02-09 17:36:49

标签: c# selenium selenium-webdriver automated-tests selenium-chromedriver

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

https://code.google.com/p/chromium/issues/detail?id=528436

然而,尝试本页面上的任何建议都没有给我带来任何成功

以下是我希望使用的代码片段

                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);

任何人都可以看到我到底做错了什么?这开始成为一个非常令人沮丧的问题!

3 个答案:

答案 0 :(得分:1)

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

options.AddUserProfilePreference("plugins.always_open_pdf_externally", true);

此外,如果您需要自己设置插件,可以这样找到:

  1. 导航至chrome:// settings / content(菜单&gt;设置,显示高级设置...,内容设置...)。
  2. 找到特定首选项(仅限复选框)。
  3. 右键单击并选中复选框。
  4. 首选项名称是整个'pref'属性的值。

答案 1 :(得分:0)

我发现这适用于 Selenium.WebDriver 2.53m,ChromeDriver 2.25.426923和Chrome v55.0.2883.87 m

    var options = new ChromeOptions();
    options.AddUserProfilePreference("plugins.plugins_disabled", new []{"Chrome PDF Viewer"});
    driver = new ChromeDriver(options);

答案 2 :(得分:-1)

这项工作对我来说(如果第一个链接是 Chrome PDF Viewer

        driver.Navigate().GoToUrl("chrome://plugins/");
        Thread.Sleep(4000);
        driver.FindElement(By.LinkText("Disable")).Click();