某些頁面在做頁面文件上傳交互的時候,有的會調出window的系統窗口來導入某些文件,這個時候單純的用python+selenium已經無法滿足這個處理
這個時候可以應用別的庫來支援,對於這個我也是第一次遇到,所以記錄一下自己整一個體驗的過程。
方法一:
工具:為了更好的了解這個window的窗口控件,下載了查看空間的軟件:WinSpy-1.0.3.7z

查看窗口的詳細情況,便於定位到正確位置

主要的代碼:

主要函數的用法:
win32gui.FindWindow 函數:該函數獲得一個頂層窗口的句柄,這個函數不查找子窗口。在查找時不區分大小寫。
handle=win32gui.FindWindow(class_name,window_title) : class_name:窗口的類,window_title:窗口的標題 。返回結果為當前窗口的句柄信息
win32gui.FindWindowEx函數:該函數獲得一個窗口的句柄,這個函數查找子窗口,從排在給定的子窗口后面的下一個子窗口開始
win32gui.FindWindowEx(handle,child,class_name,window_title):
handle:要查找子窗口的父窗口句柄
child:子窗口句柄 ,如果參數為0,查找從頂層窗口的第一個子窗口開始
class_name:類名
window_title:窗口名稱
win32gui.SendMessage(handle,Massage,wParam,lParam):
handle :接收信息的窗口句柄
Msg:要發送的消息,這些消息都是windows預先定義好的
wParam:消息的wParam參數
lParam:消息的lParam參數
WM_SETTEXT 消息:設置窗體的文本 ,wParam:未使用,lParam:變量名,窗體文本將被設置為該字符串。
win32api.SendMessage(Mhandle, win32con.WM_COMMAND, 1, confirmBTN_handle) :利用一個WM_COMMAND消息來點擊確定按鈕
方法二:
工具:https://www.autoitscript.com/site/autoit/downloads/ --下載Download Autolt
--安裝完畢

腳本的編輯基本與上面的差不多--通過定位操作相關的功能

--File-Save as

--直接在腳本編輯窗口運行 Tools-Go(F5)
--編譯為可執行文件.exe

--生成的exe ,直接雙擊可運行,或者是python調用
如:
import os
os.system("E:\test.exe")
