【问题标题】:Is it possible to disable file download in chrome using selenium是否可以使用 selenium 禁用 chrome 中的文件下载
【发布时间】:2017-10-23 23:29:28
【问题描述】:

在使用 ChromeDriver 和 Selenium 访问某些页面时,会自动下载特定文件。由于文件下载,代码不再继续。是否可以使用在创建 ChromeDriver 时设置的任何 ChromeOptions 或首选项来禁用文件下载。

尝试了以下 ChromeOptions,但没有任何帮助。

prefs.put("download.default_directory", "NUL");
prefs.put("download.prompt_for_download", false);
prefs.put("profile.default_content_setting_values.automatic_downloads", 0);

【问题讨论】:

  • 你的意思是弹出一个窗口,比如另存为?
  • @ChandlerBing 我不想下载任何东西。只需禁用文件的自动下载。在将 pref 'download.prompt_for_download' 设置为 true 时,我看到文件保存对话框出现。但我想要的是,我根本不希望文件被下载。
  • 你能给我一个自动下载网站的例子吗?谢谢
  • @Dev 实际上是一个内部站点。无法分享。
  • @Sarath 那么,当您尝试点击这样的下载链接 (selenium-release.storage.googleapis.com/3.4/…) 时,您会期待什么?谢谢

标签: java google-chrome selenium selenium-chromedriver


【解决方案1】:

不确定它是否会起作用,但你可以试试这个:

ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("download.prompt.for.download",false);
ChromeDriver driver = new ChromeDriver(options);

【讨论】:

    【解决方案2】:

    在chrome中'允许下载限制'有以下4个选项:

    • 0= 无特殊限制
    • 1= 阻止危险下载
    • 2= 阻止 有潜在危险的下载
    • 3= 阻止所有下载
    • 4 = 阻止恶意下载

    代码:

     ChromeOptions options = new ChromeOptions();
     Map<String, Object> prefs = new HashMap<>();
     prefs.put("download_restrictions", 3);
     options.setExperimentalOption("prefs", prefs);
    
     WebDriver driver = new ChromeDriver(options);
    

    #Ref:https://chromeenterprise.google/policies/#DownloadRestrictions

    【讨论】:

    猜你喜欢
    • 2019-12-17
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    相关资源
    最近更新 更多