使用 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) 批量上传文件的主要内容,如果未能解决你的问题,请参考以下文章