window系統檔案彈框直接上傳檔案路徑
阿新 • • 發佈:2020-12-15
很久沒有寫部落格了,這是歸來後的第一篇部落格~
1.先闡述一下遇到的問題:在寫webUI自動化的過程中,遇到了檔案匯入相關的測試用例.如:點選後會彈出window系統的檔案選擇路徑
2. 思考一下如何能檔案路徑直接獲取,瞭解到win32GUi可以獲取到檔案路徑
3.實現過程:
1 def upload(self,x,y,file): 2 # 點選彈出系統檔案的按鈕 3 self.click(x,y) 4 time.sleep(1) 5 # 對話方塊 6 dialog = win32gui.FindWindow('#32770', '開啟') 7 ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None) 8 ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None) 9 # 上面三句依次尋找物件,直到找到輸入框Edit物件的控制代碼 10 Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None) 11 #確定按鈕Button 12 button = win32gui.FindWindowEx(dialog, 0, 'Button', None) 13 # 往輸入框輸入絕對地址 14 win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, file) 15 # 按button 16 win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
4.呼叫:file:傳入檔案所在的絕對路徑,如:我的是當前工程路徑下的一個xlsx檔案
info.timepath + "\\Template\\batch_total.xlsx