自动设置WebDriver的配置文件以打开Excel文件

时间:2015-10-07 17:12:12

标签: c# excel selenium selenium-firefoxdriver

我找到了静默下载文件的解决方案(没有“打开/保存”对话框)但找不到任何用于自动设置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);

我错过了插件的内容吗?

1 个答案:

答案 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);

我认为这背后的原因是有时网站会发送有关文件的错误信息。而且,如果服务器发送带有通用内容类型的文件,那么它将无法工作。

该附加组件解决了这个问题。

我希望这会有所帮助。