#Uiautomation# 基于Uiautomation的微信自动化

来源:程序员客栈   2023-01-13 00:40:00

“文章所涉及内容更多来自网络,在此声明,并感谢知识的贡献者!”

UI自动化—

UI编程包括但不限于UI界面的开发,UI界面的测试。而本系列文章的主要侧重于UI界面的自动化操作。通过一段代码实现电脑自行点击、打开某文件或者修改某进程的操作。

UI控件识别


【资料图】

UiSpy 下载

(23条消息) windows 技术篇 - uispy 工具获取和使用,windows窗口属性快捷查看工具_挣扎的蓝藻的博客-CSDN博客_uispy

https://blog.csdn.net/qq_38161040/article/details/105491034

FlatUInspect 源码下载

https://github.com/FlaUI/FlaUInspect

FlatUInspect编译运行

FlatUInspect 使用说明

https://zhuanlan.zhihu.com/p/563909940?utm_id=0

FlatUInspect 微信控件层次

控件识别工具Inspect.exe下载

https://www.shuzhiduo.com/A/6pdDZNkDJw/

Window Inspector 下载

https://www.jb51.net/softs/457644.html

locale库

import locale

#获取系统语言

if (locale.getdefaultlocale()[0] =="zh_CN"):

pass

subprocess库

启动程序

import subprocess

subprocess.Popen("3dmark-setup.exe")

Uiautomation库

查找物件:

1、WindowContrl(searchDepth,ClassName,SubName) 查找窗口中的程序,如果有中文则需用Unicode;可用window.Exists(maxSearchSeconds)来判断此窗口是否存在;

2、EditControl(searchFromControl) 查找编辑位置,找到后可用DoubleClick()来改变电脑的focus;edit.SetValue("string")输入值;

3、MenuItemControl(searchFromControl,Name) 查找菜单按钮;

4、ComboBoxControl(searchFromControl,AutomationI) 查找下拉框,然后在此基础上用Select("name")方法来选择需要的选项;

5、BottonControl(searchFromControl,Name,SubName) 查找按钮;

6、automation.FindControl(firefoxWindow,

lambdac:(isinstance(c, automation.EditControl) or isinstance(c,automation.ComboBoxControl)) and c.Name == "Enter your search term") 按条件搜索handle

点击操作:

单击:.Click()

双击:.DoubleClick()

Click() 点击;

RighClik() 右键点击;

DoubleClick()

SendKeys() 发送字符;

SetValue() 传值,一般对EditControl用;

Win32API.SendKeys("string") 如果已在编辑位置,则可用此方法来输入值,{Ctrl}为ctrl键,其他类似;{@ 8}格式可输入8个@,对于数字也可实现此功能,但对于字母不能...;

切换窗口

import uiautomation as auto

window=auto.WindowControl(ClassName="CabinetWClass",searchDepth=1) #控制面板窗口

window.SwitchToThisWindow() # 切换窗口

窗口最大化:

window =auto.WindowControl(ClassName="CabinetWClass", searchDepth=1)

window.Maximize()

窗口操作

subprocess.Popen("Name")   用进程打开程序;

window.Close()         关闭窗口;

window.SetActive()     使用;

window.SetTopMost()     设置为顶层

window.ShowWindow(uiautomation.ShowWindow.Maximize) 窗口最大化

window.CaptureToImage("Notepad.png") 截图;

uiautomation.Win32API.PressKey(uiautomation.Keys.VK_CONTROL) 按住Ctrl键

uiautomation.Win32API.ReleaseKey(uiautomation.Keys.VK_CONTROL)释放Ctrl键

automation.GetConsoleWindow() #return console window that runs python,打开控制台

automation.Logger.ColorfulWriteLine("\nIwill open Notepad andautomate it. Please wait for a while.") 控制台传值(彩色字体),普通传值用WriteLine;

automation.ShowDesktop() 显示桌面;

微信自动化

获取好友列表

https://zhuanlan.zhihu.com/p/474166048

获取微信好友名单,可指定标签 & 全部

https://gitcode.net/mirrors/Frica01/Wechat_mass_msg?utm_source=csdn_github_accelerator

微信好友列表获取(存储到txt中)

https://blog.csdn.net/m0_67391377/article/details/126065428

python基于pywinauto实现PC端自动化 python操作微信自动化

https://blog.51cto.com/u_15354476/3767938

微信群发消息,获取群通讯录名单

https://www.fdsml.com/zh/438398.html

Python 实现获取微信好友信息

https://www.cnblogs.com/swjian/p/10597690.html

微信好友列表获取

https://www.pudn.com/news/62e3f4b5864d5c73ac26b03a.html

自动发送微信消息

参考资料

(23条消息) Python UI自动化 编程(一) UIAutomation_OKKLES的博客-CSDN博客_uiautomation

https://blog.csdn.net/weixin_43393800/article/details/119105108

Python使用uiautomation实现Windows平台自动化 - ooops! - 博客园 (cnblogs.com)

https://www.cnblogs.com/jyang/p/11679828.html

(23条消息) python UIAutomator2使用教程_Jepson2017的博客-CSDN博客_uiautomator2

https://blog.csdn.net/d1240673769/article/details/113809889

开源自己用python封装的一个Windows GUI(UIAutomation)自动化工具,支持MFC,WindowsForms,WPF,Metro,Qt - YinKaisheng - 博客园 (cnblogs.com)

https://www.cnblogs.com/Yinkaisheng/p/3444132.html

桌面应用自动化python——uiautomation API 如何找元素 - 白灰 - 博客园 (cnblogs.com)

https://www.cnblogs.com/baihuitestsoftware/articles/9340462.html

UIAutomation使用(一) -蜗牛学苑 (woniuxy.cn)

https://www.woniuxy.cn/article/253

用开源uiautomation自动化操作火狐 - 知乎 (zhihu.com)

https://zhuanlan.zhihu.com/p/30409594

Python下编写Windows自动化测试软件 - 简书 (jianshu.com)

https://www.jianshu.com/p/be3c46c7a905

python:获取微信好友列表信息(二)进行导出微信好友到csv数据读取与处理

https://blog.csdn.net/seoyundu/article/details/81543756

相关新闻

猜你喜欢

#Uiautomation# 基于Uiautomation的微信自动化

2023-01-13

一路走好!37岁张小斐家中两位老人去世,发文称冬天令人痛心-全球微速讯

2023-01-12

技术创新落田间 精准服务惠“三农”

2023-01-12

江苏扬州:用坚守带给群众安全感,看这里最美“警”色

2023-01-12

知名模范夫妻曝丑闻!男方曾劈腿一线大花,和W姓女星婚外恋3年

2023-01-12

全球速读:鑫磊股份(301317.SZ)IPO网上摇号中签结果出炉:中签号共38121个

2023-01-11

2023年春节唐山南湖国际会展中心年夜饭预订攻略

2023-01-11

突发!李铁爱将声讨武汉队,蒿俊闵黄紫昌感同身受,周通沉冤昭雪 全球今亮点

2023-01-11

巴西国家石油公司将天然气价格下调11.1%

2023-01-11

Semafor:微软就向OpenAI投资100亿美元展开磋商

2023-01-10

扬州副市长在女下属婚房内出轨?戴璐老公疑举报后反悔:相信正义_天天快看

2023-01-10

2022年遗嘱变更的方式具体有多少种

2023-01-10

六级工伤赔偿期限是多少天

2023-01-10

抢劫罪要死刑吗?有这种法律吗

2023-01-10

世界报道:生产性服务业赋能经济高质量发展

2023-01-10

当前短讯!券商板块连涨7日!东方证券涨停,机构:关注估值修复行情

2023-01-10

2023年度“国考”开考

2023-01-09

全球快看:德业股份2022年预计净利14.5亿-15.5亿同比增加151%-168% 逆变器业务快速增长

2023-01-09

环球快播:一个月吃几个榴莲合适?

2023-01-09

中央气象台:中东部多地破1月最高气温极值,11日起强冷空气入侵 全球观天下

2023-01-09

【环球新要闻】十来万的车,我选卡罗拉

2023-01-09

比亚迪“仰望”品牌都有哪些黑科技?_世界动态

2023-01-09

参加继承纠纷诉讼请求有哪些规定 世界新资讯

2023-01-09

焦点热门:13日晚开始省内有大风、雨雪冰冻天气过程 24℃暴跌至3℃,返乡请注意

2023-01-09

焦点报道:足总杯+荷乙二串一(内附比分):曼彻斯特联VS埃弗顿+奥斯VS特尔斯达

2023-01-07

精彩图集