天天看點

UI自動化處理檔案上傳

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進行定位:      
UI自動化處理檔案上傳

繼續閱讀