自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用 Python 讀取 QQ 消息

開(kāi)發(fā) 后端 移動(dòng)應(yīng)用
有朋友提出來(lái)了,有沒(méi)有辦法取到 QQ 的消息,是不是需要用抓屏,OCR 的方法?其實(shí)不用的,微軟定義了一套接口 UI Automation 用來(lái)自動(dòng)化測(cè)試界面,或者提供給無(wú)障礙軟件調(diào)用,方便殘疾人使用 Windows 程序。既然它能自動(dòng)化測(cè)試界面,也就是說(shuō)能取到界面里的所有東西,要不然怎么測(cè)試呢。

使用 Python 讀取 QQ 消息

上一篇文章 《使用 Python 自動(dòng)發(fā)送 QQ 消息》 發(fā)出以后,很多朋友非常感興趣。還有朋友提出來(lái)了,有沒(méi)有辦法取到 QQ 的消息,是不是需要用抓屏,OCR 的方法?

其實(shí)不用的,微軟定義了一套接口 UI Automation 用來(lái)自動(dòng)化測(cè)試界面,或者提供給無(wú)障礙軟件調(diào)用,方便殘疾人使用 Windows 程序。既然它能自動(dòng)化測(cè)試界面,也就是說(shuō)能取到界面里的所有東西,要不然怎么測(cè)試呢。

但是,并不是所有軟件都支持UIA。國(guó)外的大公司的軟件,或者使用標(biāo)準(zhǔn)界面的程序都是支持的。出于方便殘疾人使用軟件的角度上考慮,支持這套接口在有些國(guó)家是法律強(qiáng)制、或者建議的。但是國(guó)內(nèi)沒(méi)有相關(guān)規(guī)定,國(guó)內(nèi)的軟件幾乎都不支持,可是騰訊的 QQ 竟然支持!

騰訊的軟件做還是非常好的,最少在國(guó)內(nèi)來(lái)說(shuō)它還是非常規(guī)范的。先放個(gè)避雷針,沒(méi)準(zhǔn)哪天騰訊找來(lái)刪這篇文章了。

感謝 yin kaisheng 的 uiautomation,把 UIA 封裝的這么好用。

首先安裝必須的庫(kù)

  1. pip install uiautomation 

然后 打開(kāi) QQ 的消息窗口,這里只是演示,要是用程序打開(kāi)消息窗口就比較麻煩,這里就不介紹了。

 

使用 Python 讀取 QQ 消息

#導(dǎo)入必須的庫(kù)

  1. import uiautomation as auto 

#找到消息窗口。消息窗口的 ClassName='TXGuiFoundation',但是 QQ 主窗口的的類(lèi)名也是這個(gè)。所以需要再增加一個(gè)參數(shù)作為區(qū)分 Name='哈哈' ,這是消息窗口的名字,和對(duì)方的 QQ 昵稱(chēng)一樣。

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

#先試著找到輸入消息的編輯框,看看能不能取到里面的文字。如果 QQ 窗口是合并的,可能會(huì)有多個(gè)編輯框,這時(shí)需要設(shè)置函數(shù) EditControl 的 foundIndex 來(lái)取其它編輯框。

  1. input_edit = qq_win.EditControl() 
  2. print(input_edit.Name
  3. print(input_edit.GetValuePattern().Value)   #打印編輯框內(nèi)的文字 

#歷史消息在 QQ 里是一個(gè) list,list 會(huì)有很多 Children。Children 的 Name 就是歷史消息的文字部分了。

  1. msg_list = qq_win.ListControl() #找到 list 
  2. items = msg_list.GetChildren() 
  3. for one_item in items:      #遍歷所有的 Children 
  4.     print(one_item.Name)    #打印消息 

現(xiàn)在可以看到效果了吧。

 

使用 Python 讀取 QQ 消息

這個(gè)例子只是簡(jiǎn)化的示例,大家快試試吧。沒(méi)準(zhǔn)哪天這篇文章就被刪了。點(diǎn)個(gè)關(guān)注!收藏!謝謝!!

責(zé)任編輯:未麗燕 來(lái)源: 今日頭條
相關(guān)推薦

2015-09-07 10:57:38

qq未讀消息

2009-03-03 10:41:00

2021-01-18 14:22:26

QQ瀏覽記錄程序員

2017-04-21 14:27:21

Android控件QQ未讀消息

2023-08-15 19:24:37

Python條形碼

2010-02-20 09:48:59

Windows 7qq故障

2020-01-10 22:56:56

Python圖像處理Linux

2025-02-26 07:53:21

2022-10-11 23:14:39

模態(tài)循環(huán)過(guò)濾器代碼

2019-11-01 09:31:08

騰訊QQ帳號(hào)使用權(quán)

2020-08-10 08:28:19

ZeroMQCPython

2022-11-04 11:34:15

文件pathlibfileinput

2009-12-28 11:34:22

WPF處理消息

2024-03-22 12:10:39

Redis消息隊(duì)列數(shù)據(jù)庫(kù)

2021-03-11 06:01:41

Linux消息隊(duì)列

2020-04-13 13:50:15

Python電子表格編程語(yǔ)言

2023-11-28 15:18:24

Python

2022-01-17 09:01:41

Pythonnc文件Python基礎(chǔ)

2021-01-19 05:48:11

QQ瀏覽器App

2018-12-18 13:41:40

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)