selenium+python实现附件上传
对于web页⾯的上传功能⼀般有两类实现⽅式:⼀类是将本地⽂件的路径作为⼀个值放在input标签中,通过form表单将这个值提交给服务器;另⼀个类是插件上传,⼀般基于flash/javascript或者Ajax等技术实现上传功能。
⼀.input标签
input标签可以直接通过send_keys()⽅法上传附件,具体⽅法可百度。以下重点说明基于Autolt实现上传的⽅法。
⼆.基于Autolt实现上传
1.下载并安装Autolt。官⽅⽹站:
2.安装成功后打开AutoIt Windows Info⼯具。⿏标点击Finder Tool变成扇叶指针,按住⿏标左键拖动到
autoit待识别的控件(⽂件名),获取控件信息。获得的⽂件名信息,其中Basic Window info中Title为“打开”,Class是“#32770”;Basic Control info中Class是“Edti”,instance是“1”
3.获取打开按钮的控件信息,⽅法同步骤2,记录获取到的信息
4.打开SciTE Script Editor编辑器,根据获取到的控件信息,编写脚本
WinWait()设置5秒⽤于等待上传窗⼝的显⽰
ControlFocus()把输⼊焦点定位到上传⽂本框中
ControlSetText()输⼊⽂件路径
sleep 等待上传时间,单位毫秒
ControllClick()点击打开按钮,开始上传
5.脚本编写完成后,可通过Tools-->GO运⾏脚本,运⾏正常,将其保存为.au3格式
6.打开Compile ⼯具,将步骤5中⽣成的⽂件转换为exe可执⾏⽂件。
⽣成如下⽂件
7.通过⾃动化测试脚本调⽤up.exe⽂件
#打开上传窗⼝
driver.find_element_by_xpath("//*[@id='filePicker']").click() #调⽤up.exe⽂件
os.system("C:\Users\guorf\")

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。