上传文件类如下:
import pywinauto
from pywinauto.keyboard import send_keys
class UploadFile:
@classmethod
def upload_file(cls, road, name):
# 使用pywinauto创建一个操作桌面窗口的对象
app = pywinauto.Desktop()
# 选中文件上传的窗口
dlg = app["打开"]
# 选择文件地址输入框,点击激活
dlg["Toolbar3"].click()
# 键盘上输入上传文件的路径
send_keys(road)
# 键盘输入回车,打开该路径
send_keys("{VK_RETURN}")
# 选中文件名输入框,输入文件名
dlg["文件名(&N):Edit"].type_keys(name)
# 点击打开
dlg["打开[&O]"].click()
使用过程中常遇到一个问题是,在定位文件地址输入框那一步总会定位到文件名输入框,找了很久问题在哪,最后发现是没有加强制等待,加上后如下,再运行就正常了
# 选择文件上传
time.sleep(2)
UploadFile.upload_file(fileurl, filename)