win21api、win32gui、win32con三個模塊操作系統窗口時一些小技巧


下面這段腳本是操作一個瀏覽器上彈窗,打開文件窗口,由於腳本 執行速度快,當時未添加第2行的延時時,腳本順利的執行成功,但彈的窗卻沒有進行操作,建議后續如果腳本執行到打開彈窗時,延時個幾秒再去操作所彈窗,這樣就容易成功

 

 1        driver.find_element_by_xpath('//*[@id="uploadWithProgress"]').click()
 2             time.sleep(5)
 3             # 選擇版本
 4             try:
 5                 dialog = win32gui.FindWindow('#32770', u'打開')
 6                 ComboxEx = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
 7                 Combox = win32gui.FindWindowEx(ComboxEx, 0, 'ComboBox', None)
 8                 Edit = win32gui.FindWindowEx(Combox, 0, 'Edit', None)
 9                 button = win32gui.FindWindowEx(dialog, 0, 'Button', None)
10                 time.sleep(3)
11                 if method == "up":
12                     win32api.SendMessage(Edit, win32con.WM_SETTEXT, None, newVer)
13                 else:
14                     win32api.SendMessage(Edit, win32con.WM_SETTEXT, None, oldVer)
15                 time.sleep(1)
16                 win32api.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
17             except Exception as e:
18                 self.log.debug(3)
19             time.sleep(2)

下一篇將介紹上面腳本中第5行中的win32gui.FindWindow()方法中參數的獲取方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM