使用 sendKeys(keysToSend) 批量上传文件

时间:2023-03-09 17:24:44
使用 sendKeys(keysToSend) 批量上传文件

未经允许,禁止转载!!!

在selenium里面处理文件上传的时候可以使用sendKeys(keysToSend) 上传文件

例如: element.sendKeys(“C:\\test\\upload\\test1.txt”)

但是不能使用这种方法一次性批量上传文件,如下面的做法是错误的!

element.sendKeys(“C:\\test\\upload\\test1.txt”, “C:\\test\\upload\\test2.txt”...)

那么如何批量上传文件呢?其实可以循环使用sendKeys(keysToSend) 个方法

如下面的代码就实现了批量上传文件

 /**
*
* @Description: 在百度云上测试文件批量上传功能,主要是通过循环的方式去做单一
* 的上传动作 , 登陆过程已经去掉
*/
@Test
public void test_mutilUploadFile() throws Exception {
System.out.println("upload start");
// 获取上传控件元素
WebElement uploadButton = driver.findElement(By.name("html5uploader"));
// 构建上传文件路径,将需要上传的文件添加到 CharSequence 数组
CharSequence[] files = new CharSequence[5];
files[0] = "C:\\test\\test1.txt";
files[1] = "C:\\test\\test2.txt";
files[2] = "C:\\test\\test3.txt";
files[3] = "C:\\test\\test4.txt";
files[4] = "C:\\test\\test5.txt";
// 循环列出每支需要上传的文件路径,做单一上传动作
for(CharSequence file: files){
uploadButton.sendKeys(file);
}
Thread.sleep(2000);
System.out.println("upload end");
}

当执行结束后,效果如下图 :

使用 sendKeys(keysToSend) 批量上传文件