使用 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");
     }

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

时间: 2024-10-13 02:35:04

使用 sendKeys(keysToSend) 批量上传文件的相关文章

jQuery之批量上传文件插件之一

$("#uploader").plupload({     /*常规设置*/     runtimes:'html5,flash,silverlight,html4',     url:'hyzx/seller/commPicUpload.action',     /*最大文件限制b, kb, mb, gb, tb */     max_file_size:'1mb',     /*是否生成唯一文件名,如果为true会为上传的文件唯一的文件名.*/     unique_names:t

Android网络编程之使用HttpClient批量上传文件

请尊重他人的劳动成果,转载请注明出处:Android网络编程之使用HttpClient批量上传文件 我曾在<Android网络编程之使用HTTP访问网络资源>一文中介绍过HttpCient的使用,这里就不在累述了,感兴趣的朋友可以去看一下.在这里主要介绍如何通过HttpClient实现文件上传. 1.预备知识: 在HttpCient4.3之前上传文件主要使用MultipartEntity这个类,但现在这个类已经不在推荐使用了.随之替代它的类是MultipartEntityBuilder. 下面

不带插件 ,自己写js,实现批量上传文件及进度显示

今天接受项目中要完成文件批量上传文件而且还要显示上传进度,一开始觉得这个应该不是很麻烦,当我在做的时候遇到了很多问题,很头疼啊. 不过看了别人写的代码,自己也测试过,发现网上好多都存在一些问题,并不是自己想要的.然后自己查阅各种资料,经过自己总结,最终完成了这个功能. 如果大家有什么问题可以提出来,一起交流,学习.有什么不对的地方也指出来,我也虚心学习.自己也是刚写博客,您们的赞是我写博客的动力,谢谢大家. 条件:我采用struts2,java ,ajax,FormData实现; 1.实现的逻辑

用Azure CLI批量上传文件

在Windows环境下,我们可以使用AzCopy批量上传文件.其效率和传输速率都是非常快的. 在Linux或MacOS环境下,可以使用Azure的CLI实现批量文件的上传. 下面的脚本可以实现此功能. #!/bin/bash container=hwc btype=block storageaccount=hwtest storagekey=pBHrx8d+LDAkyHm2ffljPYygsiSBlbdQh8O45iV12BlFvdjI8kXbqtE17PlpCG0pfTU3yaBQUEEuWu

spring mvc 批量上传+文件上传

spring mvc 批量上传+文件上传 简单3步走.搞定! 上传文件成功后: 1 上传文件核心方法 public static String saveWebImgFile(MultipartFile imgFile){ String webFilePath = ""; if(imgFile.getSize() > 0 && isImage(imgFile.getContentType())){ FileOutputStream fos = null; try {

Android网络编程之使用HttpClient批量上传文件(二)AsyncTask+HttpClient并实现上传进度监听

请尊重他人的劳动成果,转载请注明出处: Android网络编程之使用HttpClient批量上传文件(二)AsyncTask+HttpClient并实现上传进度监听 运行效果图: 我曾在<Android网络编程之使用HttpClient批量上传文件>一文中介绍过如何通过HttpClient实现多文件上传和服务器的接收.在上一篇主要使用Handler+HttpClient的方式实现文件上传.这一篇将介绍使用AsyncTask+HttpClient实现文件上传并监听上传进度. 监控进度实现: 首先

PHP 批量上传文件 大全

PHP  批量上传文件 大全 案例一: <?php $file_path="uploads/"; for($i=0;$i<count($_FILES[ufile][name]);$i++){ $_FILES[ufile][name][$i]=time().$_FILES[ufile][name][$i]; //加个时间戳防止重复文件上传后被覆盖     } print_r($_FILES[ufile][name]); $filename=$_FILES[ufile][nam

python paramiko 多线程批量执行指令及批量上传文件和目录

源代码: https://github.com/jy1779/be.git 环境需求: 1.python3 2.paramiko pip install --upgrade pip apt-get install libssl-dev pip3 install paramiko 3.执行权限 chmod +x becmd.py ln -s /root/be/bin/becmd.py /usr/local/sbin/becmd chmod +x besync.py ln -s /root/be/b

转 Android网络编程之使用HttpClient批量上传文件 MultipartEntityBuilder

请尊重他人的劳动成果,转载请注明出处:Android网络编程之使用HttpClient批量上传文件 http://www.tuicool.com/articles/Y7reYb 我曾在<Android网络编程之使用HTTP访问网络资源>一文中介绍过HttpCient的使用,这里就不在累述了,感兴趣的朋友可以去看一下.在这里主要介绍如何通过HttpClient实现文件上传. 1.预备知识: 在HttpCient4.3之前上传文件主要使用MultipartEntity这个类,但现在这个类已经不在推