我找到了静默下载文件的解决方案(没有“打开/保存”对话框)但找不到任何用于自动设置WebDriver配置文件以打开文件而不保存的内容。
使用Selenium和C#。该文件是.csv,这是我的代码:
FirefoxProfile profile = new FirefoxProfile();
//set to automatically open file
profile.SetPreference("browser.helperApps.alwaysAsk.force", false);
profile.SetPreference("browser.helperApps.neverAsk.openFile","text/csv,application/vnd.ms-excel,application/excel");
profile.SetPreference("browser.download.manager.showWhenStarting", false);
Instance = new FirefoxDriver(profile);
我错过了插件的内容吗?
答案 0 :(得分:0)
我通过安装FF扩展InlinedDisposition 2来解决这个问题,这里是更新的代码:
FirefoxProfile profile = new FirefoxProfile();
try
{
profile.AddExtension(@"E:\Firefox Extensions\InlineDisposition2.xpi");
}
catch (IOException e)
{
throw new FileNotFoundException("Could not load required extensions, did you download them to the above location? ", e.Message);
}
//set to automatically open excel file
profile.SetPreference("browser.helperApps.alwaysAsk.force", false);
profile.SetPreference("browser.helperApps.neverAsk.openFile", "application/octectstream,text/x-csv,text/csv,application/vnd.ms-excel");
Instance = new FirefoxDriver(profile);
我认为这背后的原因是有时网站会发送有关文件的错误信息。而且,如果服务器发送带有通用内容类型的文件,那么它将无法工作。
该附加组件解决了这个问题。
我希望这会有所帮助。