(selenium+C#爬虫)如何禁止下载提示框,直接下载各类文件(pdf,zip,doc)

在使用selenium+c#+firefox的过程中,因为要直接下载pdf文件,zip等等多种文件,于是便有了下面的代码。

            FirefoxOptions tempOptions = new FirefoxOptions();  
            tempOptions.SetPreference("pdfjs.disabled", true);//关闭pdf查看
            tempOptions.BrowserExecutableLocation = System.IO.Directory.GetCurrentDirectory() + "\\Mozilla Firefox\\firefox.exe";//打包后设置浏览器路径
            //tempOptions.AddArgument("--headless");//无窗口运行
            tempOptions.SetPreference("browser.download.folderList", 2);
            tempOptions.SetPreference("permissions.default.image", 2);//无图
            tempOptions.SetPreference("browser.download.manager.showWhenStarting", false);
            tempOptions.SetPreference("browser.helperApps.alwaysAsk.force", false);
            tempOptions.SetPreference("browser.download.dir", "D:\\DataPdf");//设置下载路径
            tempOptions.SetPreference("browser.download.useDownloadDir", true);
            tempOptions.SetPreference("permissions.default.stylesheet", 2);
            tempOptions.SetPreference("browser.helperApps.neverAsk.saveToDisk",  "application/zip,application/pdf");//禁止文件下载提示
             FirefoxDriver tempDriver = new FirefoxDriver(tempOptions);

但是当我的下载文件多出一个doc的时候,我就一筹莫展了,因为不知道doc在firefox中的文件类型算是什么样的。
也曾填过“,appliction/doc”,根本没用。
在网上看到可以通过下载文件,然后再在菜单->选项->常规->文件与应用选项中去选择。
可是我一去看,却发现根本没有doc的选项卡。
(selenium+C#爬虫)如何禁止下载提示框,直接下载各类文件(pdf,zip,doc)_第1张图片
然后我看到网上说是可以通过下载获取这种文件类型,可我下载之后问题还是没有解决。
最后我发现在下载的时候,你需要这样做。
(selenium+C#爬虫)如何禁止下载提示框,直接下载各类文件(pdf,zip,doc)_第2张图片
之后就可以在文件与应用程序里面查看文件类型了。
(selenium+C#爬虫)如何禁止下载提示框,直接下载各类文件(pdf,zip,doc)_第3张图片
选中你要的文件类型,点击其他。
然后
(selenium+C#爬虫)如何禁止下载提示框,直接下载各类文件(pdf,zip,doc)_第4张图片
你把得到的这句话加到上面代码中的browser.helperApps.neverAsk.saveToDisk,就可以了。
如下:

  tempOptions.SetPreference("browser.helperApps.neverAsk.saveToDisk",  "application/vnd.ms-word,application/zip,application/pdf");//

你可能感兴趣的:(C#爬虫)