当前位置:网站首页>Uploading attachments using Win32 in Web Automation
Uploading attachments using Win32 in Web Automation
2022-07-02 06:33:00 【bthtth】
One Scenario as follows
In baidu home page ," Search by image " when , Need to upload pictures .

Two Tools and environments
1\ Need to install winspy This tool 
2\ Need to install win32 library pip install pywin32
winspy Usage of
location
(1) Call the file upload window 
(2) open winspy, single click " Aimed at " Shape button , Don't let go . Drag the button to the window element you want to locate , such as " file name " Input fields and " open " Button 
(3) And then in winspy Fetch element class and Element text 
If there is no text content ,cation It's empty
(4) View the hierarchical path of the element .
stay winspy Panel click "more"( Some versions are tree),
Click on "locate", Will show "edit" Path . Handle in turn \classname\ Text 
You can see "edit" Altogether 4 Level path , And you can get the handle of each level of path \ Classes and text 
Use pywin32 Finish uploading files
win32gui.FindWindow(IpClassName,IpWindowName)
ipclassname Elemental class ipwindowname caption
win32gui.FindWindowEX(hwndparent=0, hwndchildafter=0,ipszclass=None,ipszwindow=None)
Search for forms whose class name matches the text
hwndparent If not 0, Then the search handle is hwndparent Form
hwndchildafter If not 0, According to z-index Search in the order of hwndchildafter Subform of , Otherwise, search from the first subform
ipszclass class The name of
ipszwindow Form caption
win32gui.sendMessage(hwnd,msg,Wparame,Iparame)
hwnd: Handle to the form that accepts the message
msg: news , Pre existing windows Defined commands
wparame and iparame Unclear , For these two parameters, please refer to this article
wparame and iparame The explanation of
import win32gui
import win32con
# Get top-level window , Pass in the top-level window class and caption
dialog = win32gui.FindWindow("#32770"," Open file ")
# Get the secondary window
# Pass in the parent window ,0, window class and caption, If caption Use if it is empty None
ComboBoxEx32 = win32gui.FindWindowEx(dialog,0,"ComboBoxEx32",None)
# Get the three-level window
ComboBox = win32gui.FindWindowEx(ComboBoxEx32,0,"ComboBox",None)
# Get level 4 elements
edit = win32gui.FindWindowEx(ComboBox,0,"Edit",None)
# obtain " open " Button
button = win32gui.FindWindowEX(dialog,0,"Button"," open (&O)")
# " file name " Enter the file path
win32gui.sendmessage(edit,win32con.WM_SETTEXT,None," File path ")
# Click on " open "
win32gui.sendmessage(dialog,win32con.WM_CoMMANd,1,button)
边栏推荐
- Don't use the new WP collection. Don't use WordPress collection without update
- 深入了解JUC并发(二)并发理论
- Use of Arduino wire Library
- Redis——大Key问题
- TensorRT的数据格式定义详解
- 日志 - 7 - 记录一次丢失文件(A4纸)的重大失误
- sprintf_s的使用方法
- CUDA and Direct3D consistency
- selenium备忘录:selenium\webdriver\remote\remote_connection.py:374: ResourceWarning: unclosed<xxxx>解决办法
- Linked list (linear structure)
猜你喜欢
随机推荐
Does the assignment of Boolean types such as tag attribute disabled selected checked not take effect?
重载全局和成员new/delete
MySQL的10大经典错误
kali最新更新指南
TensorRT的功能
Redis - grande question clé
sprintf_s的使用方法
代码技巧——Controller参数注解@RequestParam
Mech 3002 explanation
Redis——缓存击穿、穿透、雪崩
2020-9-23 QT的定时器Qtimer类的使用。
一口气说出 6 种实现延时消息的方案
CUDA中的线程层次
注解和反射详解以及运用
VLAN experiment of switching technology
【每日一题】写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。
Data science [viii]: SVD (I)
Sudo right raising
Redis——Cluster数据分布算法&哈希槽
深入学习JVM底层(二):HotSpot虚拟机对象

![Data science [viii]: SVD (I)](/img/cb/7bf066a656d49666985a865c3a1456.png)







