博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium+python实现附件上传
阅读量:4955 次
发布时间:2019-06-12

本文共 898 字,大约阅读时间需要 2 分钟。

对于web页面的上传功能一般有两类实现方式:一类是将本地文件的路径作为一个值放在input标签中,通过form表单将这个值提交给服务器;另一个类是插件上传,一般基于flash/javascript或者Ajax等技术实现上传功能。

一.input标签

input标签可以直接通过send_keys()方法上传附件,具体方法可百度。以下重点说明基于Autolt实现上传的方法。

二.基于Autolt实现上传

1.下载并安装Autolt。官方网站:

 

2.安装成功后打开AutoIt Windows Info工具。鼠标点击Finder Tool变成扇叶指针,按住鼠标左键拖动到待识别的控件(文件名),获取控件信息。获得的文件名信息,其中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 Script to.ext工具,将步骤5中生成的文件转换为exe可执行文件。

 生成如下文件

7.通过自动化测试脚本调用up.exe文件

#打开上传窗口 driver.find_element_by_xpath("//*[@id='filePicker']").click() #调用up.exe文件 os.system("C:\Users\guorf\Desktop\up.exe")

转载于:https://www.cnblogs.com/sunjump/p/7268805.html

你可能感兴趣的文章
基于SSH框架的在线考勤系统开发的质量属性
查看>>
jpg图片在IE6、IE7和IE8下不显示解决办法
查看>>
delphi之模糊找图
查看>>
Javascript模块化编程的写法
查看>>
大华门禁SDK二次开发(二)-SignalR应用
查看>>
oracle 使用job定时自动重置sequence
查看>>
集成百度推送
查看>>
在项目中加入其他样式
查看>>
在使用Kettle的集群排序中 Carte的设定——(基于Windows)
查看>>
【原】iOS中KVC和KVO的区别
查看>>
OMAPL138学习----DSPLINK DEMO解析之SCALE
查看>>
IoC的基本概念
查看>>
restframework CBV试图的4种方式
查看>>
大图居中,以1920px为例
查看>>
Python3 图片转字符画
查看>>
[C陷阱和缺陷] 第7章 可移植性缺陷
查看>>
人需要治愈
查看>>
linux中configure文件默认执行结果所在位置
查看>>
Spring MVC例子
查看>>
jmeter 断言
查看>>