在使用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");//