- input 类型的就 send_key 的方式,如 #1 所说
- 如果是通过前端自己实现的组件上传的,试下用 Autoit 脚本自己封装生成一个 exe,然后调用给这个 exe,我用的 python,通过传参 *args 可以选择多个文件,再调用 os.system("upload.exe F://xyz/a.jpg b.png") 这种方式去调用起上传窗口,可以实现多个文件选择上传,再处理一下文件不存在异常的情况,就应该可以符合你需求了。
# 大致思路
def uploading_file(self, element, *fileName):
path = get_dirabspath() + '\\comment\\upload.exe '
self.click_element(element)
# select_pic() 实现F://xyz/a.jpg b.png 多个文件的绝对地址即可
os.system(path + select_pic(*fileName))
au3 的脚本大概如下:
ControlFocus("打开","","Edit1")
;识别windows窗口
WinWait("[CLASS:#32770]","",10)
;窗口等待十秒
ControlSetText("打开", "", "Edit1",$CmdLineRaw)
;想输入框中输入需要上传的地址
Sleep(2000)
ControlClick("打开", "","Button1");
;点击[打开】按钮