PythonGUI自动化:UIAUTOMATION(一)
一、常见的windows程序界面的框架
MFC:(Microsoft Foundation Classes, 微软基础类库)作用在Windows平台做GUI开发使用。
MFC快速入门:https://www.jianshu.com/p/0324359b567c
WindowsForms: 是微软的.NET 开发框架的图形用户界面 的一部分。微软在.Net 3.0中发行了WPF作为WinForms的替代版,很多时候仍需要和WinForms互操作。
WPF: (Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。
Metro: 是微软在Windows Phone 7中正式引入的一种界面设计语言,Windows 8,Windows 8.1、Windows 10以及Office 15、Office 16中也采用了Metro设计
Qt: 是一个跨平台的C++图形用户界面应用程序框架。它也是目前流行的Linux桌面环境KDE的基础。Qt5.3正式版,至此Qt实现了对iOS、Android、WP等各平台的全面支持
支持的平台
- Windows – XP、Vista、Win7、Win8、Win2008、Win10
- Uinux/X11 – Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、 FreeBSD、BSD/OS、和其他很多X11平台
- Macintosh – Mac OS X
- Embedded – 有帧缓冲支持的嵌入式Linux平台,Windows CE
Qt 优点:跨平台,(只要装了Qt),无论在win,linux,android,ios都可以运行。
二、使用开源框架UIAutomation
开源框架UIAutomation,支持MFC, Windows Form, WPF, Modern UI(Metro UI), Qt(Partly), Firefox(version<=56 or >=60), Chrome and Electron等。
作者:yinkaisheng 原文:http://www.cnblogs.com/Yinkaisheng/p/3444132.html
github地址:https://github.com/yinkaisheng/Python-UIAutomation-for-Windows
三、UIAutomation常用的方法
1、WindowContrl(searchDepth=None,ClassName=None,SubName=None)
(1) 查找窗口中的程序,如果有中文则需用Unicode;
(2) 可用window.Exists(maxSearchSeconds)来判断此窗口是否存在;
2、EditControl(searchFromControl=None)
(1) 查找文本编辑框位置,找到后可用DoubleClick()来改变电脑的focus;
(2) edit.SetValue(“string”) 输入值;
3、Win32API.SendKeys(“string”)
如果已在文本编辑框位置,则可用此方法来输入值,{Ctrl}为ctrl键,其他类似;{@ 8}格式可输入8个@,对于数字也可实现此功能,但对于字母不能;
4、MenuItemControl(searchFromControl=None,Name=None)
查找菜单按钮;
5、ComboBoxControl(searchFromControl=None,AutomationI=None)
查找下拉框,然后在此基础上用Select(“name”)方法来选择需要的选项;
6、BottonControl(searchFromControl=None,Name=None,SubName=None)
查找按钮;
7、automation.FindControl
( WindowControl对象,lambda c:(isinstance(c, automation.EditControl) or isinstance(c, automation.ComboBoxControl)) and c.Name == 'Enter your search term' )
按条件搜索handle
四、UIAutomation常用定位属性
一般定位的属性有:ClassName、Name、ProcessId、AutomationId
这些属性的获得考虑使用:InspectX64
(在上面开源项目中) Python-UIAutomation-for-Windows/inspect/InspectX64.exe可以获取
下图1为获取Name的展示:
五、UIAutomation常用句柄操作
- Click() 点击;
- DoubleClick 双击;
- RighClik() 右键点击;
- SendKeys() 发送字符;
- SetValue() 传值,一般对EditControl用;
- Select() 下拉项选择,对ComboBoxControl用;
PythonGUI自动化:UIAUTOMATION(一)相关推荐
- 【python】UI自动化-uiautomation
UI自动化-uiautomation 0- 前言 1- inspect 2- uiautomation 3- [实战]RustDesk软件自动 安装.指定服务器信息 4- 参考文章 0- 前言 做应用 ...
- .Net软件UI界面测试自动化--UIAutomation技术
在目前进行软件测试时,都或多或少的引入了自动化测试的概念,而且市面上也有好多软件自动化方面相关的工具,比如QTP,比如LoadRunner,但是这些工具要么售价不菲,要么对某些方面功能支持的不够全面, ...
- UIAutomation 自动化
Introduction UI Automation是Microsoft .NET 3.0框架下提供的一种用于自动化测试的技术,是在MSAA基础上建立的,MSAA就是Microsoft Active ...
- python自动化:uiautomation、pyautogui操作会计记账系统(6):打印会计凭证
python自动化:uiautomation.pyautogui操作会计记账系统(6):打印会计凭证 #coding=utf-8 #Beijia print account document打印会计凭 ...
- 张赐荣 | 浅谈 UIAutomation 自动化技术在读屏软件中的应用
读屏软件工作原理 [文 / 张赐荣] Windows UIAutomation 是 Windows 操作系统中的软件自动化技术,能让开发人员通过编程方式访问和操作 Windows 系统中的用户界面元素 ...
- uiautomation(如何)实现自动化
推荐python的一款神奇库--uiautomation 光看名字就应该能理解是UI+自动化 selenium是针对于浏览器,那么uiautomation就更厉害了,直接针对应用程序的UI元素. 话不 ...
- 自动化错误mysql vba,c - 运行时错误-214767259(80004005)自动化错误未指定错误 - Excel VBA - UIAutomation - 堆栈内存溢出...
我对EXcel VBA有一些了解,我是UI Automation的新手. 我正在尝试使用Excel VBA在客户端环境中进行UI自动化. 我参考了UIAutomationCore.dll. 当我尝试单 ...
- python自动化:uiautomation、pyautogui操作会计记账系统(3):处理序时簿
python自动化:uiautomation.pyautogui操作会计记账系统(1):处理序时簿 #coding=utf-8 #chronological book,查询序时簿 import xlr ...
- python自动化:uiautomation、pyautogui操作会计记账系统(5):财务公开
python自动化:uiautomation.pyautogui操作会计记账系统(5):财务公开 #coding=utf-8 #Beijia To Excel accounting disclosur ...
最新文章
- 深入理解 Laravel Eloquent(三)——模型间关系(关联)
- 11 Python - dict
- 《Netty权威指南》
- android edittext 不滚动,EditText 设置可以垂直滑动但是不可输入
- python下载文件加上日期_Python实现给下载文件显示进度条和下载时间代码
- js 原生对象排序
- oracle 日期改字符格式_oracle 日期转换格式
- 基于Qt的简易聊天室设计
- 甘特图控件VARCHART XGantt:XGantt的用途
- 【知识图谱】实践篇——基于知识图谱的《红楼梦》人物关系可视化及问答系统实践:part3前端搭建与可视化
- SFDC Developer
- English trip EM2-PE 3B Teacher:Olivia
- 什么是ChainLink (LINK)
- 1.1 NBU基本概念
- 用win7系统如何登录ftp服务器,必备技巧之最详细win7系统登陆ftp服务器的图文教程...
- 安卓学习日记——在线支付
- 船说CMS模板 - 笔趣阁自适应模板
- 编程语言中的编码方式(笼统)
- python常用文本处理方法小结
- mysql强力推荐启用binlog