下面這段腳本是操作一個瀏覽器上彈窗,打開文件窗口,由於腳本 執行速度快,當時未添加第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()方法中參數的獲取方法