Python+selenium - 瀏覽器中遇到彈出系統窗口,如何處理 ?(python+selenium+win32gui)


某些頁面在做頁面文件上傳交互的時候,有的會調出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")


免責聲明!

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



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