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

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中看到它们。

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

(64)
Machine:WaybackMachineAPI参数
上一篇
Crown皮鞋:WatchKitAPIforForceTouch/DigitalCrown
下一篇

相关推荐

  • java脚手架搭建:如何使用Java脚手架来构建应用程序

    Java脚手架搭建的步骤:创建Maven项目:使用maven--webapp创建一个Maven项目,并在pom.xml中添加所需的依赖。…

    2023-06-08 07:09:20
    0 39 16
  • comeandgetyourlove音乐爱就在你身边

    Come and Get Your Love是一首热门的歌曲,由美国摇滚乐队Redbone演唱。这首歌曲于1974年发行,被收录在他们的专辑《Wovoka》中。歌曲以放克曲风为主,旋律活泼,曲调悠扬,歌词朗朗上口,深受歌迷喜爱。…

    2023-06-29 07:47:31
    0 96 22
  • java api接口文档使用说明

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

    2023-02-12 13:09:39
    0 14 11
  • 店长推荐 magnet :店长推荐 magnet

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

    2023-01-31 05:34:29
    0 99 39
  • java中间价都有哪些深入研究实施最佳实践

    示例示例Java中间件主要包括:企业应用服务器( Server):主要用于构建企业级应用,如、、JBoss等。…

    2023-06-30 04:42:00
    0 56 74
  • css预编译器: center;}

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

    2023-04-30 05:19:08
    0 94 20
  • java web技术有哪些从入门到精通

    示例示例Java Web技术包括:Java Servlet:Servlet是一种Java技术,用于创建动态Web应用程序。它是一个小的Java程序,运行在Web服务器上,处理客户端请求,并生成动态内容。…

    2023-09-08 15:58:08
    0 71 10
  • java反射性能的如何优化:优化Java反射性能的方法

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

    2023-01-22 03:09:39
    0 85 11

发表评论

登录 后才能评论

评论列表(87条)