java selenium下载_selenium测试(Java)--下载文件(十六)

该篇博客展示了如何使用Java Selenium自动化测试框架配置Firefox浏览器下载路径,避免弹出保存对话框,并通过JavaScript检查文件是否成功下载。示例代码详细说明了下载文件的处理过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

packagecom.test.download;importjava.io.File;importorg.openqa.selenium.By;importorg.openqa.selenium.JavascriptExecutor;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.firefox.FirefoxDriver;importorg.openqa.selenium.firefox.FirefoxProfile;public classDownloadTest {public static voidmain(String[] args) {

FirefoxProfile profile= newFirefoxProfile();//可以在Firefox浏览器地址栏中输入about:config来查看属性//设置下载文件放置路径,注意如果是windows环境一定要用\\,用/不行

String path = "D:\\10-selenium\\workspace\\SeleniumTest\\src\\com\\test\\download\\down";

String downloadFilePath= path + "\\d.exe";

File file= newFile(downloadFilePath);if(file.exists()) {

file.delete();

}//配置响应下载参数

profile.setPreference("browser.download.dir", path);//下载路径

profile.setPreference("browser.download.folderList", 2);//2为保存在指定路径,0代表默认路径

profile.setPreference("browser.download.manager.showWhenStarting", false);//是否显示开始//禁止弹出保存框,value是文件格式,如zip文件

profile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/zip,text/plain,application/vnd.ms-excel,text/csv,text/comma-separated-values,application/octet-stream,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document");//关于类型:可以参考http://www.w3school.com.cn/media/media_mimeref.asp

WebDriver driver= newFirefoxDriver(profile);

driver.get("file:///D:/10-selenium/workspace/SeleniumTest/src/com/test/download/download.html");

driver.manage().window().maximize();

driver.findElement(By.linkText("下载")).click();

waitTime(3000);

String js_exist= "alert(\"download successfully\")";

String js_not_exist= "alert(\"download unsuccessfully\")";if(file.exists()) {

((JavascriptExecutor) driver).executeScript(js_exist);

}else{

((JavascriptExecutor) driver).executeScript(js_not_exist);

}

waitTime(5000);//driver.quit();

}static public void waitTime(inttime) {try{

Thread.sleep(time);

}catch(InterruptedException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值