如何在JAVA中使用selenium在firefox webdriver上接受下载提示?

如何在JAVA中使用selenium在firefox webdriver上接受下载提示?,java,selenium,Java,Selenium,我正在测试我正在构建的一个页面,我希望知道是否可以使用selenium接受下载提示?我正在使用Firefox网络驱动程序 最简单的方法是设置测试使用firefox配置文件,该配置文件设置为自动接受下载提示。有关创建新配置文件的帮助,请参阅。要在测试中使用此配置文件,请参阅问题的顶部答案。但是我也建议阅读,这将解释为什么您实际上不需要下载文件来测试您的下载功能是否正常工作。最简单的方法是将您的测试使用firefox配置文件设置为自动接受下载提示。有关创建新配置文件的帮助,请参阅。要在测试中使用此配

我正在测试我正在构建的一个页面,我希望知道是否可以使用selenium接受下载提示?我正在使用Firefox网络驱动程序

最简单的方法是设置测试使用firefox配置文件,该配置文件设置为自动接受下载提示。有关创建新配置文件的帮助,请参阅。要在测试中使用此配置文件,请参阅问题的顶部答案。但是我也建议阅读,这将解释为什么您实际上不需要下载文件来测试您的下载功能是否正常工作。

最简单的方法是将您的测试使用firefox配置文件设置为自动接受下载提示。有关创建新配置文件的帮助,请参阅。要在测试中使用此配置文件,请参阅问题的顶部答案。不过,我也建议您阅读,这将解释为什么您实际上不需要下载文件来测试您的下载功能是否正常工作。

您可以尝试使用以下代码下载zip文件:

FirefoxProfile profile = new FirefoxProfile();
//MIME type for zip file "application/zip"

profile.setPreference("browser,helperapps.neverAsk.SaveToDisk", "application/zip");

// 0 = desktop, 1 = default download folder , 2 = user defined location.
profile.setPreference("browser.download.folderList",0);

driver = new FirefoxDriver(profile);
baseUrl = " http://www.yourwebsite.com ";
driver.get(baseUrl);
driver.findElement(By.id("downloadFile")).click; 

您可以尝试使用以下代码下载zip文件:

FirefoxProfile profile = new FirefoxProfile();
//MIME type for zip file "application/zip"

profile.setPreference("browser,helperapps.neverAsk.SaveToDisk", "application/zip");

// 0 = desktop, 1 = default download folder , 2 = user defined location.
profile.setPreference("browser.download.folderList",0);

driver = new FirefoxDriver(profile);
baseUrl = " http://www.yourwebsite.com ";
driver.get(baseUrl);
driver.findElement(By.id("downloadFile")).click; 

你为什么不选择Sikuli,它太简单了。
在构建路径中添加sikuli-java.jar文件,安装Picpick软件,保存保存文件的图像,使用Picpick单击ok按钮。
键入以下命令

new Screen().click(new Pattern("E:\\simage\\save.png")); //here e:\\..is image file path
new Screen().click(new Pattern("E:\\simage\\ok.png"));

结束了。

你为什么不选择Sikuli,它太简单了。
在构建路径中添加sikuli-java.jar文件,安装Picpick软件,保存保存文件的图像,使用Picpick单击ok按钮。
键入以下命令

new Screen().click(new Pattern("E:\\simage\\save.png")); //here e:\\..is image file path
new Screen().click(new Pattern("E:\\simage\\ok.png"));

一切都结束了。

是的,sikuli是一个简单的解决方案,你可以使用它

是的,sikuli是一个简单的解决方案,你可以使用它

Selenium无法接受操作系统级别的对话框,它不是为此而构建的-下面的答案应该有效。相关:Selenium无法接受操作系统级别的对话框,它不是为这个而建的-下面的答案应该有用。相关:解释为什么你不需要下载文件的链接已经死了。它现在位于这里:解释为什么不需要下载文件的链接已经死了。它现在位于这里: