加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

读取QQ消息的黑科技

发布时间:2021-06-06 07:24:44 所属栏目:移动互联 来源:互联网
导读:着实不消的,微软界说了一套接口 UI Automation 用来自动化测试界面,可能提供应无障碍软件挪用,利便残疾人行使 Windows 措施。既然它能自动化测试界面,也就是

着实不消的,微软界说了一套接口 UI Automation 用来自动化测试界面,可能提供应无障碍软件挪用,利便残疾人行使 Windows 措施。既然它能自动化测试界面,也就是说能取到界面里的全部对象,要否则怎么测试呢。

可是,并不是全部软件都支持UIA。海外的大公司的软件,可能行使尺度界面的措施都是支持的。出于利便残疾人行使软件的角度上思量,支持这套接口在有些国度是法令逼迫、可能提议的。可是海内没有相干划定,海内的软件险些都不支持,然则腾讯的 QQ 竟然支持!

腾讯的软件做还长短常好的,起码在海内来说它还长短通例范的。先放个避雷针,没准哪天腾讯找来删这篇文章了。

感激 yin kaisheng 的 uiautomation,把 UIA 封装的这么好用。

起首安装必需的库

pip install uiautomation 

然后 打开 QQ 的动静窗口,这里只是演示,要是用措施打开动静窗口就较量贫困,这里就不先容了。

行使 Python 读取 QQ 动静

#导入必需的库

import uiautomation as auto 

#找到动静窗口。动静窗口的 ClassName='TXGuiFoundation',可是 QQ 主窗口的的类名也是这个。以是必要再增进一个参数作为区分 Name='哈哈' ,这是动静窗口的名字,和对方的 QQ 昵称一样。

qq_win = auto.WindowControl(searchDepth=1, ClassName='TXGuiFoundation', Name='哈哈') 

#先试着找到输入动静的编辑框,看看能不能取到内里的笔墨。假如 QQ 窗口是归并的,也许会有多个编辑框,这时必要配置函数 EditControl 的 foundIndex 来取其余编辑框。

input_edit = qq_win.EditControl() 

print(input_edit.Name) 

print(input_edit.GetValuePattern().Value)   #打印编辑框内的笔墨 

#汗青动静在 QQ 里是一个 list,list 会有许多 Children。Children 的 Name 就是汗青动静的笔墨部门了。

msg_list = qq_win.ListControl() #找到 list 

items = msg_list.GetChildren() 

for one_item in items:      #遍历全部的 Children 

    print(one_item.Name)    #打印动静 

此刻可以看到结果了吧。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读