UI自動化處理檔案上傳
import win32gui
import win32con
def set_uploader(self, file_path):
sleep(2)
self.file_path = file_path
if (os.path.exists(self.file_path) == False): # 判斷路徑是否存在
print(u"檔案路徑不存在")
return False
else:
try:
dialog = win32gui.FindWindow('#32770', u'打開') # 對話框
ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None) # 上面三句依次尋找對象,直到找到輸入框Edit對象的句柄
button = win32gui.FindWindowEx(dialog, 0, 'Button', None) # 确定按鈕Button
win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, self.file_path) # 往輸入框輸入絕對位址
win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button) # 按button
print(u'上傳成功')
except AttributeError as e:
raise e
以上元素可以通過使用AutoIt v3進行定位:
