RF上传图片各种失败坑,使用pywin32来操作windows窗体
这个上传按钮,使用 Choose File,失败不知道为什么。。。
Name:
Choose File
Source:
Selenium2Library <test library>
Arguments:
[ locator | file_path ]
然后说用AutoItLibrary pip安装报错,下载安装报错(python3.7)坑。
然后说试试 python+selenium来解决,but它会自己新开浏览器。。。。坑 (可以这样开浏览器把图片上传好了再关闭浏览器 再在RF打开浏览器操作,感觉很low)
然后说试试python+pywin32终于成功
#coding:utf-8
import os
import win32gui
import win32con
def upload(fileAddr):
wndtitle = u"打开" # 进程名(就是那个窗体名称)
wndclass = '#32770' #这个用SPY++找出来 什么类名
wnd = win32gui.FindWindow(wndclass, wndtitle) #获取这个窗体的句柄,不懂什么是句柄 感觉是个id吧
print("上传窗口句柄:%s"%wnd)
Ind = win32gui.GetDlgItem(wnd,1148) #通过窗体句柄和控件ID,找到输入框的句柄
print("输入框句柄:%s"%Ind)
win32gui.SendMessage(Ind,win32con.WM_SETTEXT,None,fileAddr) #给这个输入框发送text
Bnd = win32gui.GetDlgItem(wnd,1) #取打开按钮的句柄
print("打开按钮句柄:%s"%Bnd)
win32gui.SendMessage(Bnd,win32con.BM_CLICK,None,None) #点【打开】按钮