Java 用于保存文件的Selenium firefox配置文件

Java 用于保存文件的Selenium firefox配置文件,java,firefox,selenium,automation,Java,Firefox,Selenium,Automation,可能重复: 我正在使用selenium和firefox从internet下载一个文件。 当我试图下载文件时,我会收到一个下载框,询问我是否要保存文件或“打开”。 我想保存文件,但不是自动保存(要重命名文件名),我希望浏览器会询问我保存文件的位置。 firefox设置中的“始终询问保存文件的位置”选项已被选中,并且仍然。。当我使用selenium运行脚本时,它不会询问我并保存文件。 我如何设置firefox配置文件来实现这一点?我在哪里可以看到所有firefox配置文件? 感谢您的帮助。sele

可能重复:

我正在使用selenium和firefox从internet下载一个文件。 当我试图下载文件时,我会收到一个下载框,询问我是否要保存文件或“打开”。 我想保存文件,但不是自动保存(要重命名文件名),我希望浏览器会询问我保存文件的位置。 firefox设置中的“始终询问保存文件的位置”选项已被选中,并且仍然。。当我使用selenium运行脚本时,它不会询问我并保存文件。 我如何设置firefox配置文件来实现这一点?我在哪里可以看到所有firefox配置文件?
感谢您的帮助。

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

selenium使用的firefox配置文件具有firefox附带的默认选项。您必须设置要请求的选项,在selenium代码中,将文件保存在何处。

研究了该问题的少量解决方法。想和大家分享一下我的发现。 关于一般使用Selenium的自动化浏览器对话框: 要让Selenium下载文件并不容易,因为浏览器使用本机对话框,而JavaScript无法控制本机对话框,所以您需要一些“黑客”。 检查

特别是关于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");

希望这对您有用

调查了一点解决问题的方法。想和大家分享一下我的发现。 关于一般使用Selenium的自动化浏览器对话框: 要让Selenium下载文件并不容易,因为浏览器使用本机对话框,而JavaScript无法控制本机对话框,所以您需要一些“黑客”。 检查

特别是关于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");

希望这对你有用是的,但我怎么做?你有什么例子吗?是的,但我怎么能做到?你有什么例子吗?这里似乎已经提出了类似的问题:这里:这里似乎已经提出了类似的问题:这里: