【问题标题】:Chromedriver: How to disable PDF pluginChromedriver:如何禁用 PDF 插件
【发布时间】:2016-05-19 19:39:33
【问题描述】:

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

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

但是尝试此页面上的任何建议都没有成功

这是我希望工作的代码的 sn-p

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

谁能看到我到底做错了什么?这开始成为一个非常令人沮丧的问题!

【问题讨论】:

  • 您是否尝试使用 Selenium 与 PDF 进行交互?
  • 当插件被禁用时,单击 PDF 的链接会导致它被下载到默认目录。这就是为什么我需要找到一种在启动时禁用 chrome PDF 查看器插件的方法
  • 您可以通过访问地址栏中的 chrome://plugins/ 来禁用 Chrome PDF 查看器。
  • 我会在测试启动时尝试这样做

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


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    我发现这适用于 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);
    

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2017-06-12
        • 2023-04-02
        • 2013-03-14
        • 1970-01-01
        • 2013-03-02
        • 2017-04-06
        • 2018-05-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多