元素操作(三)-文件上传

一、上传操作的两种情况

1、如果是input可以直接输入路径的,那么直接调用send_keys输入路径

2.非input标签上传的,则需要借助第三方工具:

2.1 AutoIt 我们去调用其生成的au3或exe文件

PC端应用,又一套自己的编写语法,非python语言,格式是au3,只能用本身的AutoIt应用打开,对于现在的我们学习成本有点高。

2.2 SendKeys第三方库(目前只支持到2.7版本)

网址:https://pypi.python.org/pypi/SendKeys

2.3 Python pywin32库,识别对话句柄,进而操作

工具:pywin32和spy++

二、使用winspy对文件选择窗口操作步骤

第一步:选择指定的导航按钮,拖动到文件地址输入框

                   

第二步:切换到Windows页面,查看父元素                                    查看父元素的上级元素直至找到最外层窗口                                           最外层窗口

                    

                                         

三、方法说明

win32gui.FindWindow(IpClassName,IpWindowName)
自顶窗口开始寻找匹配条件的窗口,并返回这个窗口的句柄。
IpClassName:类名,在Spy++里能够看到
IpWindowName:窗口名,标题栏上能够看到的名字

win32gui.FindWindowEx(hwndParent=0,hwndChildAfter=0,IPszClass=None,IpseWindow=None)
搜索类名和窗体匹配的窗体,并返回这个窗体的句柄。找不到就返回0。
hwndParent:若不为0,则搜索句柄为hwndParent窗体的子窗体。
hwndChildAfter:若不为0,则按照z-index的顺序从hwndChildAfter向后开始搜索子窗体,否则从第一个子窗体开始搜索。
IPszClass:字符型,是窗体的类名,这个可以在Spy++里找到。
IpseWindow:类型符,是窗口名,也就是标题栏上你能看见的哪个标题。

win32gui.SendMessage(hWnd,Msg,wParam,Iparam)
hWnd:整型,接收消息的窗体句柄。
Msg:整型,要发送的消息,这些消息都是windows预先定义好的
wParam:整型,消息的wParam参数
IParam:整型,消息的IParam参数

 

posted @ 2018-09-12 09:27  sinder2018  阅读(60)  评论(0)    收藏  举报