使用硒文件下载 [英] File download using selenium

查看:145
本文介绍了使用硒文件下载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用硒来测试一个系统。
我必须下载一个文本文件。为了直接下载它,我创建了一个Firefox配置文件,它应该避免保存/取消对话框...但是对话框还在继续。



我的代码如下:

  FirefoxProfile fxProfile = new FirefoxProfile(); 
fxProfile.setPreference(browser.download.folderList,2);
fxProfile.setPreference(browser.download.manager.showWhenStarting,false);
fxProfile.setPreference(browser.download.dir,c:\\tmp);
fxProfile.setPreference(browser.helperApps.alwaysAsk.force,false);
fxProfile.setPreference(browser.helperApps.neverAsk.saveToDisk,text / plain);
driver.findElement(By.id(link-download))。click();

我无法找到对话框仍然打开的原因。
任何想法?



在此先感谢。

解决方案


$ b 当创建驱动程序时,Firefox配置文件必须作为参数传递,如下所示:

  FirefoxProfile fxProfile = new FirefoxProfile(); 

fxProfile.setPreference(browser.download.folderList,2);
fxProfile.setPreference(browser.download.manager.showWhenStarting,false);
fxProfile.setPreference(browser.download.dir,c:\\tmp);
fxProfile.setPreference(browser.helperApps.alwaysAsk.force,false);
fxProfile.setPreference(browser.helperApps.neverAsk.saveToDisk,application / octet-stream);
$ b $ setDriver(TestBench.createDriver(new FirefoxDriver(fxProfile)));

我创建没有参数的驱动程序。现在它正在工作。


I am using selenium for testing a system. I have to download a text file. In order to download it directly I've created a Firefox profile which should avoid the Save / cancel dialog... butthe dialog is still coming.

My code is as follows:

FirefoxProfile fxProfile = new FirefoxProfile();
fxProfile.setPreference("browser.download.folderList",2);
fxProfile.setPreference("browser.download.manager.showWhenStarting",false);
fxProfile.setPreference("browser.download.dir","c:\\tmp");
fxProfile.setPreference("browser.helperApps.alwaysAsk.force", false);
fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/plain");
driver.findElement(By.id("link-download")).click();

I cannot find why the dialog is still opened. Any idea?

Thanks in advance.

解决方案

I got it.

The Firefox profile has to be passed as a parameter when creating the driver as follows:

FirefoxProfile fxProfile = new FirefoxProfile();

    fxProfile.setPreference("browser.download.folderList", 2);
    fxProfile.setPreference("browser.download.manager.showWhenStarting", false);
    fxProfile.setPreference("browser.download.dir","c:\\tmp");
    fxProfile.setPreference("browser.helperApps.alwaysAsk.force", false);
    fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream");

    setDriver(TestBench.createDriver(new FirefoxDriver(fxProfile)));

I wass creating the driver without parameters. Now it is working.

这篇关于使用硒文件下载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆