《Selenium学习(五)---selenium解决上传文件问题之总结.docx》由会员分享,可在线阅读,更多相关《Selenium学习(五)---selenium解决上传文件问题之总结.docx(5页珍藏版)》请在金锄头文库上搜索。
1、Selenium学习(五)-selenium解决上传文件问题之总结一、上传文件框是input形式 首先定位上传按钮 发送要上传的文件driver.findElement(By.id(XX).sendKeys(D:20.jpg);二、上传文件框不是input形式 当上传文件框不是input时,需要借助AutoIT这个工具 下载地址:https:/ 注意一下,安装过程中32位还是64位,安装后,在开始菜单中会显示这些:常用的三个组件: AutoIT Window Info(x64) :用来定位 SciTE Script Editor :用来写脚本 Compile Script to .exe(x6
2、4):用来转换成exe版本控制:selenium 3.5.0,firefox 20.0.1,火狐驱动:0.19.1下面开始定位上传框:1. 将Finder Tool拖拽到文件名处,如图:2. 记录一下如下内容:Title=打开,ClassnameNN=Edit1,Class=#32770注:每个浏览器打开的上传框的title不一样,需注意。3. 再次定位打开按钮:4. 记录如下内容:ClassnameNN=Button15. 打开SciTE Script Editor 开始写脚本:;ControlFocus(title ,text,controlID)定位到打开窗口ControlFocus(打
3、开,Edit1);等待元素出现,时间为20sWinWait(CLASS:#32770,20);设置上传的文件ControlSetText(打开,Edit1,C:UsersYBBDesktop1.png);点击上传按钮ControlClick(打开,Button1);测试是否成功的方法: 在浏览器中测试:点击上传文件按钮后,弹出选择文件框,运行脚本时,要保证此窗口打开状态,在SciTE Script Editor中点击Tools的GO,即可运行成功。如图: 在cmd中测试:首先要将SciTE Script Editor中编写的脚本转换成exe文件,就需要用到Compile Script to .
4、exe(x64),打开后如图:打开cmd,输入如下图, 双引号不要省略:把脚本代码放进eclipse中,先定位上传文件按钮,第一种写法:driver.findElement(By.xpath(XXXX).click();String str = C:UsersYBBDesktopupload.exe;try Runtime.getRuntime().exec(str);catch(IOException e) e.printStackTrace();第二种写法比较简便:driver.findElement(By.xpath(XXXX).click();Runtime.getRuntime().exec(C:UsersYBBDesktopupload.exe);执行之后,上传成功!如果遇到upload.exe不好用,重新保存一次就好了。