在使用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的选项卡。
在这里插入图片描述
然后我看到网上说是可以通过下载获取这种文件类型,可我下载之后问题还是没有解决。
最后我发现在下载的时候,你需要这样做。
在这里插入图片描述
之后就可以在文件与应用程序里面查看文件类型了。
在这里插入图片描述
选中你要的文件类型,点击其他。
然后
在这里插入图片描述
你把得到的这句话加到上面代码中的browser.helperApps.neverAsk.saveToDisk,就可以了。
如下:

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

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐