1. 程式人生 > >python-selenium -- 文件上傳操作

python-selenium -- 文件上傳操作

ttext AR gui classname bubuko image 匹配 搜索 命令

一、文件上傳操作

win32gui.FindWindow(IPClassName,IPWindowName)

自頂層窗口開始尋找匹配條件的窗口,並返回這個窗口的句柄;

IPClassName:類名,在Spy++裏能夠看到;

IPWindowName:窗口名,標題欄上能看到的名字

win32gui.FindWindowEx(hwndParent=0,hwndChildAfter=0,IPszClassName=None,IPszWindowName=None)

搜索類名和窗體名匹配的窗體,並返回這個窗體的句柄,找不到就返回0;

hwndParent:若不為哦,則搜索句柄為hwndParent的窗口子窗體;

hwndChildAfter:若不為0 ,則按照z-index的順序從hwndChildAfter向後開始搜索子窗體;

IPszClassName:字符型,是窗口的類名,這個可以在Spy++裏找到;

IPszWindowName:字符型,是窗口名,也就是標題欄上能看到的那個標題

win32gui.SendMessage(hWnd,Msg,wParam,IParam)

hWnd:整型,接收消息的窗口句柄;

Msg:整型,要發送的消息,這些消息都是windows預定義好的;

wParam:整型,消息的wParam參數;

IParam:整型,消息的IParam參數;

如:百度網盤上傳操作--點擊上傳按鈕彈出文件框

技術分享圖片

#文件上傳操作--命令行安裝 python -m pip install pypiwin32,安裝後重啟Pycharm
import win32gui
import win32con
import time

#一級頂層窗口
dialog = win32gui.FindWindow("#32770","打開")
#二級窗口
comboBoxEx32 = win32gui.FindWindowEx(dialog,0,"ComboBoxEx32",None)
#三級窗口
comboBox = win32gui.FindWindowEx(comboBoxEx32,0,"ComboBox",None)
#四級窗口 -- 文件路徑輸入區域

edit = win32gui.FindWindowEx(comboBox,0,"Edit",None)

#二級窗口 -- 打開按鈕
button = win32gui.FindWindowEx(dialog,0,"Button",None)

#1、輸入文件路徑
filepath = "E:\\chromedriver.exe"
win32gui.SendMessage(edit,win32con.WM_SETTEXT,None,filepath)
time.sleep(5)
#2、點擊打開按鈕
win32gui.SendMessage(dialog,win32con.WM_COMMAND,1,button)

python-selenium -- 文件上傳操作