pip install uiautomation
ui spy 下载
1.下载UI SPY
2.CMD指令导入uiautomation库
pip install uiautomation -i xxx
3.打开计算器,然后打开UISpy
如图ControlType为”ControlType.Window”
那么捕获窗口就用:uiautomation.WindowControl
如果ControlType为”ControlType.Text”
那么捕获窗口就用:uiautomation.TextControl
依次类推...
如果ControlType为”ControlType.Xxx”
那么捕获窗口就用:uiautomation.XxxControl
如果类型不明确,则使用uiautomation.Control
Uiautomation元素获取方法如下
程序窗口:uiautomation.WindowControl
按钮:uiautomation.ButtonControl
文本:uiautomation.TextControl
输入窗口:uiautomation.EditControl
文档控件:uiautomation.DocumentControl
单选控件:uiautomation.CheckBoxControl
复选控件:uiautomation.ComboBoxControl
日历控件:uiautomation.CalendarControl
Uiautomation元素的属性
ClassName、Name、ProcessId、AutomationId、searchDepth
常用的操作有
DoubleClick()双击
Click()单击
RightClick()右键点击
SendKeys()发送字符
SetValue()传值
4.代码写法
打开计算器
import subprocess
#打开计算器
subprocess.Popen('C:\WINDOWS\system32\calc.exe')
#获取计算器的窗口
searchDepth的值表示搜索的层级,根据需求填写
import uiautomation as aut
#捕获窗口
win = aut.WindowControl(ClassName="ApplicationFrameWindow",searchDepth=1)
#设置获取超时时间和应用窗口始终前置,被控应用一定要在最前面,不然控制不了
#设置全局搜索超时时间 15s
aut.uiautomation.SetGlobalSearchTimeout(15)
#控制的应用窗口前置
win.SetTopmost(True)
#按钮点击
#计算器的数字区域
number_group = win.Control(searchDepth=3,Name="数字键盘")
number_group.ButtonControl(Name="一").Click()
5.控制计算器的完整例子
import subprocess
import uiautomation as aui
#控制计算器
#打开计算器
subprocess.Popen('C:\WINDOWS\system32\calc.exe')
#设置全局搜索超时时间 15s
aui.uiautomation.SetGlobalSearchTimeout(15)
#捕获窗口
win = aui.WindowControl(ClassName="ApplicationFrameWindow",searchDepth=1)
#控制的应用窗口前置
win.SetTopmost(True)
#计算器的运算符区域,此处用Name是因为“标准运算符”和“数字键盘”的ClassName一致,
# 所以用name属性,不用ClassName
operator_group = win.Control(searchDepth=3,Name="标准运算符")
#计算器的数字区域
number_group = win.Control(searchDepth=3,Name="数字键盘")
number_group.ButtonControl(Name="一").Click()
operator_group.ButtonControl(Name="加").Click()
number_group.ButtonControl(Name="二").Click()
operator_group.ButtonControl(Name="等于").Click()
#获取结果
nResult = win.TextControl(AutomationId="CalculatorResults").Name
print("计算结果为:",nResult)
# 截图并保存到指定路径
win.CaptureToImage('C:/Users/user/Desktop/1.png')
# 关闭程序
win.GetWindowPattern().Close()
import subprocess
import uiautomation as aui
#控制计算器
#打开计算器
subprocess.Popen('C:\WINDOWS\system32\calc.exe')
#设置全局搜索超时时间 15s
aui.uiautomation.SetGlobalSearchTimeout(15)
#捕获窗口
win = aui.WindowControl(ClassName="ApplicationFrameWindow",searchDepth=1)
#控制的应用窗口前置
win.SetTopmost(True)
#计算器的运算符区域,此处用Name是因为“标准运算符”和“数字键盘”的ClassName一致,
# 所以用name属性,不用ClassName
operator_group = win.Control(searchDepth=3,Name="标准运算符")
#计算器的数字区域
number_group = win.Control(searchDepth=3,Name="数字键盘")
number_group.ButtonControl(Name="一").Click()
operator_group.ButtonControl(Name="加").Click()
number_group.ButtonControl(Name="二").Click()
operator_group.ButtonControl(Name="等于").Click()
#获取结果
nResult = win.TextControl(AutomationId="CalculatorResults").Name
print("计算结果为:",nResult)
# 截图并保存到指定路径
win.CaptureToImage('C:/Users/user/Desktop/1.png')
# 关闭程序
win.GetWindowPattern().Close()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2016-12-07 rdesktop tsclient
2016-12-07 远程桌面协议
2015-12-07 list index out of range
2015-12-07 openstack Error修复
2015-12-07 openstack usb重定向驱动加载
2015-12-07 openstack usb重定向
2015-12-07 openStack封流量