【问题标题】:How to hide the warning "This type of file can harm your computer" while downloading .xml file using Chrome Chromedriver 79 with Selenium Java如何在使用带有 Selenium Java 的 Chrome Chromedriver 79 下载 .xml 文件时隐藏警告“这种类型的文件可能会损害您的计算机”
【发布时间】:2020-01-21 11:30:24
【问题描述】:

尽管将safebrowsing.enabled 设置为true / false,警告...这种类型的文件可能会损害您的计算机...仍在浏览器中显示。如何隐藏这些信息?

【问题讨论】:

  • 是在下载的时候,你可以尝试在新标签页中打开文件,让用户保存而不是直接下载

标签: java selenium google-chrome webdriver selenium-chromedriver


【解决方案1】:

要启用使用 Chrome 下载文件/ChromeDriver 隐藏警告这种类型的文件可能会损害您的计算机,您需要:

  • 添加首选项:
    • download.default_directory
    • download.prompt_for_download
    • download.extensions_to_open
    • safebrowsing.enabled
  • 以及将以下参数添加到 whilelist:
    • --safebrowsing-disable-download-protection
    • safebrowsing-disable-extension-blacklist

演示

为了演示使用 进行下载,我点击了网页http://www.landxmlproject.org/file-cabinet 中的第一个Download 链接,您的有效解决方案是:

  • 代码块:

    System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
    Map<String, Object> prefs = new HashMap<String, Object>();
    prefs.put("download.default_directory", "C:/Utility/Downloads/");
    prefs.put("download.prompt_for_download", false);
    prefs.put("download.extensions_to_open", "application/xml");
    prefs.put("safebrowsing.enabled", true);
    ChromeOptions options = new ChromeOptions();
    options.setExperimentalOption("prefs", prefs);
    options.addArguments("start-maximized");
    options.addArguments("--safebrowsing-disable-download-protection");
    options.addArguments("safebrowsing-disable-extension-blacklist");
    WebDriver driver =  new ChromeDriver(options); 
    driver.get("http://www.landxmlproject.org/file-cabinet");
    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[text()='MntnRoad.xml']//following::span[1]//a[text()='Download']"))).click();
    
  • 浏览器快照:

【讨论】:

  • 感谢您的回答。尽管使用列出的首选项和选项,Chrome 仍会显示提及的信息。
  • @TomaszWojciechowski 不敢相信。你能用你的代码试验更新问题吗?
  • @DebanjabB :这是特定机器上的问题。通常,您的解决方案有效。谢谢。
  • @DebanjanB 我尝试了上述解决方案,但仍然出现下载对话框。我正在尝试下载一个 jar 文件并将 MIME 类型指定为 application/java-archive"。您将我的问题标记为重复,但您的解决方案不起作用。
  • 嗨@DebanajnB,您的解决方案在我的情况下不起作用。我使用最新的 chrome 80。尝试了您的代码,但仍然弹出“这种类型的文件可能会损害您的计算机”,并且 selenium 正在等待我点击“保留”
猜你喜欢
  • 2019-08-19
  • 2011-09-10
  • 1970-01-01
  • 2016-10-04
  • 2020-10-30
  • 1970-01-01
  • 2018-07-19
相关资源
最近更新 更多