2016-12-26 99 views
0

美好的一天。C#:Firefox webdriver:如何将文件下载到特定文件夹

我尝试设置firefox webdriver的选项以下载到特定的foler。我把我的代码放在下面。它在最后一行引发TypeInitializationException。

如何设置文件下载的默认文件夹,并设置它应该没有警报窗口?

var firefoxOptions = new FirefoxOptions(); 
firefoxOptions.AddAdditionalCapability("browser.download.folderList", 2);   firefoxOptions.AddAdditionalCapability("browser.download.manager.showWhenStarting", false); 
firefoxOptions.AddAdditionalCapability("browser.download.dir", Constants.DownloadFilesLocation); 
firefoxOptions.AddAdditionalCapability("browser.helperApps.neverAsk.saveToDisk", "image/jpeg"); 
firefoxOptions.AddAdditionalCapability("browser.helperApps.neverAsk.saveToDisk", "image/png"); 
firefoxOptions.AddAdditionalCapability("browser.helperApps.neverAsk.saveToDisk", "image/gif"); 
firefoxOptions.AddAdditionalCapability("browser.helperApps.neverAsk.saveToDisk", "image/bmp"); 
firefoxOptions.AddAdditionalCapability("browser.helperApps.neverAsk.saveToDisk", "image/tiff"); 
Driver = new FirefoxDriver(firefoxOptions); 

回答

0

我认为你应该将能力值定义为字符串。此外,browser.helperApps.neverAsk.saveToDisk应该定义为一个逗号分隔的列表:

var firefoxOptions = new FirefoxOptions(); 

firefoxOptions.AddAdditionalCapability("browser.download.folderList", "2"); 
firefoxOptions.AddAdditionalCapability("browser.download.manager.showWhenStarting", "false"); 
firefoxOptions.AddAdditionalCapability("browser.download.dir", Constants.DownloadFilesLocation); 
firefoxOptions.AddAdditionalCapability("browser.helperApps.neverAsk.saveToDisk", "image/jpeg, image/png, image/gif, image/bmp, image/tiff"); 

Driver = new FirefoxDriver(firefoxOptions); 

此外,检查Constants.DownloadFilesLocation是一个下载目录路径字符串。

+0

对于Chrome路径接受并正常工作。我使用FirefoxProfile.SetPreference,但它也不起作用。文件仍下载到'C:\ Users \ User \ AppData \ Local \ Temp' – Evgeniy175

相关问题