Pywinauto之Windows UI自动化4
一、选择程序窗口
1、打印窗口所有控件
dlg.print_control_identifiers()
2、根据窗口标题或类名选择
dlg = app[窗口类名/标题]
dlg = app["窗口类名"]
3、根据窗口类名选择串口
dlg = app.窗口类名
二、窗口的操作方法
1、窗口最大化
dlg.maximize()
2、窗口最小化
dlg.minimize()
3、还原窗口正常大小
dlg.restore()
4、获取窗口显示状态
dlg.get_show_state()
5、关闭窗口
dlg.close()
三、窗口控件的分类
状态栏:StatusBar 静态内容:Static
按钮:Button 复选框:CheckBox
单选框:RadioButton 组框:GroupBox
组合框:ComboBox 对话框(窗口):Dialog
编辑框:Edit 头部内容:Header
列表框:ListBox 列表显示控件:ListView
弹出菜单:PopupMenu 选项卡控件:TabControl
工具栏:Toolbar 工具栏提示:ToolTips
树状视图:Tree View Menu:菜单
MenuItem:菜单项 Pane:窗格
四、控件的相关属性获取
1、获取控件类型:wrapper_object()
print(dlg.wrapper_object()) # 打印窗口的控件类型
print(menu.wrapper_object()) # 打印菜单项的控件类型
print(file.wrapper_object()) # 打印文件的控件类型
2、获取该控件支持的方法:print(dir(a.wrapper_object()))
print(dlg(dlg.wrapper_object())) # 查看控件所支持的方法
3、获取控件的子元素:children
print(dlg.children) # 获取窗口的子元素
print(menu.children) # 获取菜单的子元素
print(file.children) # 获取文件的子元素
4、获取控件类名:class_name
print(dlg.children) # 获取窗口的类名
print(menu.class_name) # 获取菜单的类名
print(file.class_name) # 获取文件的类名
5、以字典形式返回控件的属性:get_properties
print(menu.get_properties) # 获取菜单的属性
6、获取文本内容:texts
print(file.texts()) #获取文本内容
五、截图处理
方法:capture_as_image
#pic = app[].capture_as_image()
pic = menu.capture_as_image()
pic.save("xx.png")
六、菜单控件相关操作
1、获取菜单的子菜单项
print(menu.items())
2、通过下标去选择菜单项
m = menu.item_by_index(0)
print(m)
3、通过路径去选择菜单项
m = menu.item_by_path("文件") 或
m = menu.item_by_path("文件 -> 新建连接...")
print(m)
七、菜单项的操作方法
1、获取所有子选项:items
print(file.items())
2、点击菜单项的方法:click_input()
file.click_input()
八、等待方式
1、Wait方法:
作用:等待窗口不处于某个特定状态参数;
wait_for :等待的状态(状态有以下几种)
exists:表示该窗口是有效的句柄
visible:表示该窗口未隐藏
enabled :表示未禁用窗口-
ready:表示该窗口可见并启用·
active:表示该窗口处于活动状态
timeout :超时时间
retry _interval :重试时间间隔
2、Wait_not方法:
作用:等待窗口不处于某个特定状态参数;
wait_for :等待的状态(状态有以下几种)
exists:表示该窗口是有效的句柄
visible:表示该窗口未隐藏
enabled :表示未禁用窗口-
ready:表示该窗口可见并启用·
active:表示该窗口处于活动状态
timeout :超时时间
retry _interval :重试时间间隔
3、wait_cpu_usage_lower方法等待该进程的cup的使用率低于某个阀值
注意:此方法仅适用于整个应用程序进程,不适用于窗口/元素。
参数:
threshold :该进程cup占用率timeout :超时时间
retry_interval :重试时间间隔
九、timings模块
1、wait_until方法:参数:
Timeout:超时时间
retry_interval重试时间 func执行的函数
value 比较的值
op比较方式函数(默认为相等) args给执行函数传位置参数
kwargs给执行函数传关键字参数
2、在执行许多动作需要在之前,之后和之间如果我们需要暂停。
那么模块timings中有几个方法库帮我们实现这种暂停操作。
通过在对象timings. Timings中设置全局静态变量(等待时间),它可以单独根据您的需要进行调整。
全局计时变量值的设置方法
Timings .defaults() :将全局计时设为默认值
Timings.slow() :将所有时间加倍(使脚本执行速度降低约2倍)
Timings. fast(): #将所有计时除以2 (快2倍)
十、编辑类Edit的控件操作
1、快速输入文本内容
dlg["Edit"].type_keys("学python做自动化测试")
相关文章
- 使用rz与sz 实现服务器与Windows的文件传输
- WINDOWS下安装系统_在Windows环境下
- Windows环境下Redis安装与配置的两种方式
- Windows搭建Nginx直播推流服务器
- Windows 7 Eric4 PySide环境配置
- 【错误记录】Windows 控制台程序编译报错 ( WINDOWS.H already included. MFC apps must not #include <Windows.h> )
- 你还在用 Windows 吗?美国已下跌至 57%,达到历史最低点!
- windows下Mysql多实例部署的操作方法
- Windows下安装MySQL数据库系统指南(windows安装mysql)
- 在Windows系统下安装MySQL数据库(windows下安装mysql)
- 界面UI即将大改 Windows 10 21H2最新预览版抢先看
- [下载] Windows 11 Dev Build 22000版镜像文件 可在虚拟机或物理机部署
- Windows 10 中Linux系统(WSL)忘记密码怎么办
- 致我们即将逝去的Windows XP
- “Linux轻松与Windows双启:引导快速添加方法”(linux添加windows引导)
- 安装Windows系统下的Redis服务(windows安装redis)
- Windows无法启动MySQL服务:解决方案.(windows无法启动mysql服务)
- Windows远程访问Linux指南(windows怎么远程linux)
- 抵触与融合:Windows 与 Linux 的比较(windows与linux)
- 比较:Linux和Windows哪更适合你?(linux和windows哪个好)
- Linux将文件传输到Windows系统中(linux传文件到windows)
- Windows cmd命令行查询MySQL数据库(cmd 查询mysql)
- 能上网就能玩 教你如何不升级也能玩Windows 11
- Python获取Windows或Linux主机名称通用函数分享
- NoSQL和Redis简介及Redis在Windows下的安装和使用教程
- Windows下编译安装php扩展eAccelerator教程