0

可能重复:
在 Firefox 中访问文件下载对话框

我正在使用 selenium 和 firefox 从 Internet 下载文件。当我尝试下载文件时,我得到一个下载框,询问我是否要保存文件或“打开方式”。我想保存文件但不自动(想重命名文件名),我希望浏览器会问我在哪里保存文件。在 Firefox 设置中选择了“始终询问将文件保存在哪里”的选项,并且仍然..当我使用 selenium 运行脚本时,它不会询问我并保存文件。我如何设置 Firefox 配置文件来执行此操作?我在哪里可以看到所有的 Firefox 配置文件?感谢帮助。

4

2 回答 2

4

调查了该问题的一些解决方法。想分享我的发现。关于一般使用 Selenium 的自动化浏览器对话框: 没有简单的方法可以让 Selenium 下载文件,因为浏览器使用无法由 JavaScript 控制的本机对话框,因此您需要一些“hack”。 检查这个

特别是关于 ffox 浏览器设置,您可以将 Firefox 配置为自动开始下载并将文件保存在特定位置

或者使用它:

    FirefoxProfile firefoxProfile = new FirefoxProfile();

    firefoxProfile.setPreference("browser.download.folderList",2);
    firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);
    firefoxProfile.setPreference("browser.download.dir","c:\\downloads");
    firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv");

    WebDriver driver = new FirefoxDriver(firefoxProfile);//new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);

    driver.navigate().to("http://www.myfile.com/hey.csv");

希望这对你有用

于 2012-10-07T20:17:51.703 回答
0

selenium 使用的 firefox 配置文件带有 firefox 附带的默认选项。您必须在 selenium 代码中设置选项以询问、保存文件的位置。

于 2012-10-06T11:50:31.030 回答