【自动化专题】selenium如何轻松搞定文件上传

使用selenium作自动化时,咱们常常会遇到的一个让人头疼的问题就是文件上传。html

问题的难点在于selenium没法识别并操做Windows窗口,若咱们能够绕过弹出框直接把文件信息上传给选择按钮,难点就解决了。spa

如下是常见页面形式3d

分析HTML,发现不管是普通前台仍是Extjs,他们的html有一个共同的特色,具备如下代码:code

  <input ..... type="file" ...../>

ok,只要咱们使用selenium自带的sendkeys把文件路径(相对绝对无所谓)传给该元素,就可绕过选择窗口直接上传文件.htm

解决方案诞生了对象

driver.findElement(XXXXX).sendKeys("filePath");

 

Have a Tryblog

博客园上传图片:driver.findElement(By.name("file")).sendKeys("C:\Users\123\Pictures\a.png");图片

QQ邮箱上传附件:driver.findElement(By.name("UploadFile")).sendKeys("C:\Users\123\Pictures\a.png");input

定位元素根据状况而定,不必定用name;文件路径能够使相对路径,你们自行修改就好博客

 

注意:执行sendKeys的元素必定要符合inputtype="file"条件,不然就是你没找对上传文件的对象,会上传失败的。

像这样的,必定注意不要上传到前面的那个input上,不然会失败的

相关文章
相关标签/搜索