# 12. 上传操作
#
# (1)如果是input可以直接输入路径的,直接使用send_keys输入路径
# (2)非input标签的,需要借助第三方工具:
# A. AutoIt : 调用其生成的au3或exe文件
# B. SendKeys第三方库:目前只支持到2.7版本
# C. Python pywin32库:识别对话框句柄,进而操作 # 工具:pywin32 和 WinSpy(识别windows控件的工具)
# 在pywin32中,查找一层窗口的方法为:win32gui模块下的FindWindow
# 在某窗口下查找子窗口的方法为:win32gui模块下的FindWindowEx
# 执行编辑操作、点击操作的方法为:win32gui模块下的SendMessage # win32gui.FindWindow(IpClassName,IpWindowName)
# 自顶层窗口开始寻找匹配条件的窗口,并返回这个窗口的句柄
# IpClassName : 类名,在Spy++里能够看到
# IpWindowName: 窗口名,标题栏上能看到的名字 # win32gui.FindWindowEx(hwndParent=0,hendChildAfter=0,lpszClass=None,lpszWindow=None)
# 搜索类名和窗体名匹配的窗体,并返回这个窗体的句柄;找不到就返回0
# hwndParent : 若不为0,则搜索句柄为hwndParent窗体的子窗体
# hwndChildAfter :若不为0,则按照z-index的顺序从hwndChildAfter向后开始搜索子窗体,否则从第一个子窗体开始搜索
# IpClassName : 字符型,是窗体的类名
# IpWindowName : 字符型,是窗口名 # win32gui.SendMessage(hWnd,Msg,wParam,lParam)
# hWnd : 整型,接收消息的窗体句柄
# Msg :整型,要发送的消息,这些消息都是windows预先定义好的
# wParam:整型,消息的wParam参数
# lParam:整型,消息的lParam参数


import win32gui
import win32con def upload_chrome(filepath):
# 一级窗口
dialog = win32gui.FindWindow('#32770','打开')
# 二级窗口
ComboBoxEx32 = win32gui.FindWindowEx(dialog,0,'ComboBoxEx32',None)
# 三级窗口
ComboBox = win32gui.FindWindowEx(ComboBoxEx32,0,'ComboBox',None)
# 四级窗口 - 路径输入框
edit = win32gui.FindWindowEx(ComboBox,0,'edit',None)
# 二级窗口 - 打开按钮
button = win32gui.FindWindowEx(dialog,0,'Button','打开(&O)') # 操作
win32gui.SendMessage(edit,win32con.WM_SETTEXT,None,filepath)
win32gui.SendMessage(dialog,win32con.WM_COMMAND,1,button) file_path = 'F:\VOC\测试图片\视频遮挡\遮挡.png'
upload_chrome(file_path)

												

python - web自动化测试 - 文件上传操作的更多相关文章

  1. python-web自动化-文件上传操作(非input标签的上传,需要借助第三方工具)

    文件上传操作 一.文件上传分两种情况:1. 如果是input可以直接输入路径的,可以直接调send_keys输入路径 2. 非input标签的上传,需要借助第三方工具:    2.1 Autolt 需 ...

  2. 七牛云存储的 Javascript Web 前端文件上传

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,七牛云存储的 Web 前端文件上传 七牛是不错的云存储产品,特别是有免费的配额可 ...

  3. ui自动化chrome文件上传操作

    web自动化,再chrome浏览器中文件上传操作

  4. Web Uploader文件上传插件

    http://www.jq22.com/jquery-info2665   插件描述:WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现 ...

  5. Web Uploader文件上传&&使用webupload有感(黄色部分)

    引入资源 使用Web Uploader文件上传需要引入三种资源:JS, CSS, SWF. <!--引入CSS--> <link rel="stylesheet" ...

  6. python Django之文件上传

    python Django之文件上传 使用Django框架进行文件上传共分为俩种方式 一.方式一 通过form表单进行文件上传 #=================================== ...

  7. Python 基于Python实现Ftp文件上传,下载

    基于Python实现Ftp文件上传,下载   by:授客 QQ:1033553122 测试环境: Ftp客户端:Windows平台 Ftp服务器:Linux平台 Python版本:Python 2.7 ...

  8. 基于python的selenium两种文件上传操作

    方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方 ...

  9. python django web 端文件上传

    利用Django实现文件上传并且保存到指定路径下,其实并不困难,完全不需要用到django的forms,也不需要django的models,就可以实现,下面开始实现. 第一步:在模板文件中,创建一个f ...

随机推荐

  1. 复选框 省市区 联动(监听input的change事件)

    需求:省市区三级包含复选框按钮以及文字描述.点击文字显示对应的下级地区,点击复选框选择对应的下级区域勾选. 分析:监听input的change事件当点击复选框省  选择对应的第一个市区,同时默认选中第 ...

  2. CSS font-family 字体名称一览表

    windows常见内置中文字体 字体中文名 字体英文名 宋体                      SimSun(浏览器默认) 黑体                      SimHei 微软雅 ...

  3. Ubuntu 修改host并重启网络

    Ubuntu系统的Hosts只需修改/etc/hosts文件,在目录中还有一个hosts.conf文件,刚开始还以为只需要修改这个就可以了,结果发现是需要修改hosts.修改完之后要重启网络.具体过程 ...

  4. Ionic 2 中添加图表

    有问题请加入马画藤群:181596813,也强烈欢迎各类建议和需求:Ionic 2 实例开发 今日更新新增章节——Ionic 2 中添加图表: Chart.js是一个在HTML5的<canvas ...

  5. 为什么HDFS的副本数通常选择3?

    HDFS采用一种称为机架感知的策略来改进数据的可靠性.可用性和网络带宽的利用率. 在大多数情况下,HDFS的副本系数是3,HDFS的存放策略是一个副本存放在本地机架节点上,另一个副本存放在同一机架的另 ...

  6. 洛谷 P3143 [USACO16OPEN]钻石收藏家Diamond Collector

    题目描述 Bessie the cow, always a fan of shiny objects, has taken up a hobby of mining diamonds in her s ...

  7. 发现知乎的一个Bug,并且我绕过了此Bug,沾沾自喜中...

    发现问题 在知乎点击修改头像,上传图片时发现一片空白.凭着程序员的直觉,第一反应时看下控制台是否有报错.果然发现如下: Refused to load the image 'data:image/jp ...

  8. [论文理解]Deep Residual Learning for Image Recognition

    Deep Residual Learning for Image Recognition 简介 这是何大佬的一篇非常经典的神经网络的论文,也就是大名鼎鼎的ResNet残差网络,论文主要通过构建了一种新 ...

  9. cv2.minAreaRect() 生成最小外接矩形

    简介   使用python opencv返回点集cnt的最小外接矩形,所用函数为 cv2.minAreaRect(cnt) ,cnt是所要求最小外接矩形的点集数组或向量,这个点集不定个数.   cv2 ...

  10. ArcGis server发布地图服务

    ArcGIS server发布服务: 首先修改地图文档属性中的关联默认数据库 最后使用分享将地图服务发布到server上,是地图服务可以使用: 注意一定要勾选 Feature Access选项 fea ...