通過pywin32庫來上傳檔案

2022-09-23 03:11:59 字數 1628 閱讀 1272

先來安裝:pip install pywin32

開啟後是這玩意:

按住靶心拖拽到檔名選擇框,顯示選擇框class類名為edit,還有他的控制代碼handle:

點選windows,發現他的父級視窗是combobox:

再點選紅框控制代碼進入combobox,發現其父級視窗是comboboxex32。

同理可得comboboxex32的父級視窗為一級視窗#32770,所以edit是四級視窗。

同理可得開啟按鈕button是二級視窗:

以後臺檔案上傳為例,開啟上傳windows視窗之後:

1

import

win32gui

2import

win32con34

#chrome browser

5def

upload_file(file_path):67

#一級視窗

8 no1 = win32gui.findwindow("

#32770

","開啟")

9#二級視窗,4個引數:父級;從父級的第幾個兒子開始檢索,0表示第一個;自身類名;文字內容,沒有則none

10 combo_box_ex32 = win32gui.findwindowex(no1, 0, "

comboboxex32

", none)11#

3級視窗

12 combo_box = win32gui.findwindowex(combo_box_ex32,0,"

combobox

",none)13#

4級視窗

14 edit = win32gui.findwindowex(combo_box,0,"

edit

",none)15#

二級開啟按鈕

16 button = win32gui.findwindowex(no1, 0, "

button

", "

開啟(&o)")

17#輸入檔案地址

18win32gui.sendmessage(edit, win32con.wm_settext, none, file_path)19#

點選開啟按鈕 提交檔案

20 win32gui.sendmessage(no1, win32con.wm_command, 1, button)

2122 upload_file("

c:\\1\\nihao.7z

")

這樣就可以成功上傳了!(其他瀏覽器的元素文字資訊有些許出入,火狐瀏覽器為”檔案上傳“,谷歌為”開啟“,ie為“選擇要載入的檔案”。)