如何禁用“这种类型的文件可能会损害您的计算机”弹出窗口

I'm using selenium chromedriver for automating web application. In my application, I need to download xml files. But when I download xml file, I get 'This type of file can harm your computer' pop up. I want to disable this pop up using selenium chromedriver and I want these type of files to be downloaded always. How can this be done? enter image description here

Selenium 版本:2.47.1

Chromedriver 版本:2.19

更新是 2012 年的long standing Chrome bug

18

与 XML 文件的问题开始发生在我的 Chrome 47.0.2526.80 米后花费也许 6 小时试图关闭每一个可能的安全选项,我尝试了不同的方法。

具有讽刺意味的是,打开Chrome 选项"Protect you and your device from dangerous sites"似乎会删除消息"This type of file can harm your computer. Do you want to keep file.xml anyway?"

我使用 'Ruby' 与 'Watir-Webdriver',其中代码看起来像这样:

prefs = {
    'safebrowsing' => {
        'enabled' => true,
    }
}
b = Watir::Browser.new :chrome, :prefs => prefs

像这样启动浏览器,启用safebrowsing选项,下载 xml 文件而没有消息警告。对于任何编程语言的 Selenium,原理应该是相同的。

##### Edited:13-04-2017

在最新版本的 Google Chrome 中,上述解决方案是不够的。此外,有必要使用以下开关启动浏览器:

--safebrowsing-disable-download-protection

现在,启动浏览器的代码看起来像这样:

b = Watir::Browser.new :chrome, :prefs => prefs, :switches => %w[--safebrowsing-disable-download-protection]))
5

我在下面发布完整的代码,让文件下载为我工作:希望它有帮助:-) 我使用 Java-Selenium

System.setProperty("webdriver.chrome.driver", "C:/chromedriver/chromedriver.exe");
        String downloadFilepath = "D:/MyDeskDownload";
        HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
        chromePrefs.put("profile.default_content_settings.popups", 0);
        chromePrefs.put("download.default_directory", downloadFilepath);
        chromePrefs.put("safebrowsing.enabled", "true"); 
        ChromeOptions options = new ChromeOptions();
        options.setExperimentalOption("prefs", chromePrefs);
        DesiredCapabilities cap = DesiredCapabilities.chrome();
        cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
        cap.setCapability(ChromeOptions.CAPABILITY, options);
        WebDriver driver = new ChromeDriver(cap);
5

以下 Python 代码对我有用

chromeOptions = webdriver.ChromeOptions()
prefs = {'safebrowsing.enabled': 'false'}
chromeOptions.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chromeOptions)
3

最近更新 Chrome 后,accepted answer停止工作。现在,您需要使用--safebrowsing-disable-extension-blacklist--safebrowsing-disable-download-protection命令行开关。这是适用于我的WebdriverIO配置:

var driver = require('webdriverio');
var client = driver.remote({
    desiredCapabilities: {
        browserName: 'chrome',
        chromeOptions: {
            args: [
                'disable-extensions',
                'safebrowsing-disable-extension-blacklist',
                'safebrowsing-disable-download-protection'
            ],
            prefs: {
                'safebrowsing.enabled': true
            }
        }
    }
});

请注意,我也禁用扩展,因为它们通常会干扰自动测试,但这并不是解决下载 XML 和 JavaScript 文件的问题所必需的。

我通过阅读this list找到了这些开关,您也可以在Chromium source中看到它们。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(438)
Plc编程书:面向对象编程和方法的书(object oriented programming book)
上一篇
K线技术分析:R中的 K均值聚类分析(k means clustering visualization)
下一篇

相关推荐

  • java api接口文档使用说明

    Java API接口文档是指用于Java编程的应用程序编程接口(API)的文档。它们包含有关Java类、接口、方法和属性的详细信息,以及如何使用它们来开发Java应用程序的指导。…

    2023-02-12 13:09:39
    0 56 93
  • 店长推荐 magnet :店长推荐 magnet

    Magento是一款强大的电子商务解决方案,可以帮助店长构建一个完整的企业网站。它提供了一个全面的商业工具,可以帮助店长创建、管理和推广他们的在线业务。…

    2023-01-31 05:34:29
    0 73 16
  • css预编译器: center;}

    CSS预编译器是一种用于构建CSS的工具,它可以将CSS代码转换为更易于管理和维护的格式。它们可以使CSS代码更加灵活,更易于重用,并且可以帮助开发人员更轻松地组织和管理CSS代码。…

    2023-04-30 05:19:08
    0 64 29
  • java反射性能的如何优化:优化Java反射性能的方法

    示例示例Java反射性能优化的技术有以下几种:使用静态变量或常量:在使用反射时,应该尽量使用静态变量或常量,而不是每次都使用字符串来指定反射的对象。…

    2023-01-22 03:09:39
    0 62 72
  • python中predict函数参数:如何使用Python的predict函数进行机器学习预测

    示例示例predict函数是scikit-learn中的一个函数,用于预测新样本的输出结果。参数:…

    2023-03-30 08:03:12
    0 39 70
  • java在线题库:Java中如何使用多线程实现并发操作?

    Java在线题库是一种提供Java语言编程练习的网站,它可以帮助用户更好地理解和掌握Java编程语言。它提供了大量的Java编程练习题,用户可以通过完成这些练习来提高自己的Java编程技能。Java在线题库可以帮助用户更好地理解和掌握Java编程语言,因为它提供了大量的Java编程练习题,用户可以通过完成这些练习来提高自己的Java编程技能。此外,Java在线题库还可以帮助用户更好地了解Java编程语言的基本原理,以及如何使用它来解决实际问题。…

    2023-04-02 05:32:09
    0 42 32
  • java培训机构哪个好:如何选择最好的Java培训机构?

    由于每个人的学习需求不同,因此不能给出一个明确的答案,但是可以提供一些建议,帮助您选择最适合您的java培训机构。先确定自己的学习目标,比如想学习java编程、web开发、android应用开发等,然后根据自己的学习目标,选择有相关课程的培训机构。…

    2023-04-17 12:29:01
    0 79 18
  • gitlab ci 自动化部署:使用 Gitlab CI 自动化部署提升开发效率

    GitLab CI 自动化部署是一种基于 GitLab CI/CD 的自动化部署方案,可以实现快速、可靠的部署流程。它将代码提交、构建、测试、部署等步骤集成在一起,使得开发者可以更加轻松地完成部署工作。下面是一个示例 .gitlab-ci.yml 文件,可以帮助你实现 GitLab CI 自动化部署:…

    2023-05-20 05:45:38
    0 53 28

发表评论

登录 后才能评论

评论列表(64条)