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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 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) 批量上传文件的主要内容,如果未能解决你的问题,请参考以下文章

selenium 警告框处理

selenium在使用sendkeys()时报错

Delphi中的SendKeys函数无法使用常量

如何使用 SendKeys 点击访问报告

使用 .sendKeys() 方法部分插入字符串

selenium.WebElement.sendKeys() 出错