日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python自動(dòng)化UI工具發(fā)送QQ消息的實(shí)例

系統(tǒng) 2368 0

概述

個(gè)人遇到過(guò)小的需求,windows自動(dòng)水群發(fā)送垃圾消息,使用一些特別簡(jiǎn)單易上手的小工具,快速實(shí)現(xiàn)功能需求(而不是使用一些重量級(jí)的還需要額外花時(shí)間去熟悉功能語(yǔ)法的大工具,如UI自動(dòng)化工具sikulix)。在一番摸索下,得出一番結(jié)論:

對(duì)于多平臺(tái)的UI自動(dòng)復(fù)雜操作,還是去學(xué)sikulix吧,這不是啃一點(diǎn)win32 api獲取窗口句柄就能輕松解決的,畢竟sikulix是MIT大佬折騰出來(lái)的。而且,原理也更復(fù)雜(通過(guò)使用opencv對(duì)窗體控件進(jìn)行識(shí)別,進(jìn)而實(shí)現(xiàn)控制操作)。

對(duì)于簡(jiǎn)單的操作(控制剪切板緩存、自動(dòng)化keyboard操作、desktop光標(biāo)移動(dòng)、鼠標(biāo)點(diǎn)擊動(dòng)作等)可以使用python的一些包進(jìn)行簡(jiǎn)單的模擬實(shí)現(xiàn):pyautogui / pywin32 等。

pyautogui是美國(guó)一個(gè)知名python程序員也是優(yōu)秀的python作者Al Sweigart維護(hù)的一個(gè)模塊,個(gè)人是比較推崇的,因?yàn)橄鄬?duì)來(lái)說(shuō),整個(gè)模塊都是python寫(xiě)的,可讀性比較好,對(duì)一般功能的封裝得很好。pywin32就有點(diǎn)不一樣了,這個(gè)完全是用python對(duì)win32 api接口進(jìn)行python api的轉(zhuǎn)換,用起來(lái)比較復(fù)雜,對(duì)windows api及c sharp有一定了解,加上文檔全但是基本就是原樣包windows api的文檔抄了一下,所以看起來(lái)是相當(dāng)痛苦的。(但是實(shí)際上pywin32跟pyautogui的思路都是使用windows api獲取窗體程序句柄進(jìn)而實(shí)現(xiàn)自動(dòng)化操控,從實(shí)現(xiàn)原理上看來(lái),也注定這種方式是不可能完成過(guò)于復(fù)雜的UI自動(dòng)化作業(yè)的。)

目標(biāo)

使用pyautogui,實(shí)現(xiàn)自動(dòng)化發(fā)送qq消息。

實(shí)現(xiàn)

安裝三方python包,pyautogui

            
pip install pyautogui
          

引入包,進(jìn)行自動(dòng)化腳本編寫(xiě) ―― 相當(dāng)簡(jiǎn)單易讀,參考api文檔

①打開(kāi)對(duì)應(yīng)的群聊天窗口,才能獲取到句柄列表,設(shè)置發(fā)送使用ctrl+enter鍵(方便自動(dòng)化控制)

python自動(dòng)化UI工具發(fā)送QQ消息的實(shí)例_第1張圖片

②編寫(xiě)代碼

            
import pyautogui as gui
import time

print(gui.getWindows()) # getWindows獲取所有活動(dòng)窗體程序句柄對(duì)象的字典,key為窗體程序title,value為hwnd對(duì)象
gui.Window(gui.getWindows().get('Python數(shù)據(jù)分析交流群')).set_foreground() 
# Window使用hwnd對(duì)象創(chuàng)建window對(duì)象,對(duì)窗體程序進(jìn)行控制
# 這一部分在提供的官方api文檔里并沒(méi)有提到,這是作者故意沒(méi)有提及的窗體程序句柄處理,才對(duì)win api封裝了幾個(gè)功能
for i in range(10):
 gui.typewrite(time.asctime()+' : '+str(i)) # typewrite可以參考文檔,實(shí)際是模擬鍵盤(pán)輸入,所以當(dāng)這里的內(nèi)容換成中文時(shí),是無(wú)效的
 gui.hotkey('ctrl','enter') # hotkey模擬組合鍵
 time.sleep(10)
 
 >>>> print內(nèi)容
 {'': 
            
              , 'SelfProject [C:\\Users\\Stan Pao\\PycharmProjects\\SelfProject] -
 ...\\test2.py [SelfProject] - PyCharm': 
              
                , 'Python數(shù)據(jù)分析交流群': 
 
                
                  , '南京捷安特精英俱樂(lè)部': 
                  
                    , 'pyautogui - OneNote': 
                    
                      , '寫(xiě)文章-CSDN博客 -
 Google Chrome': 
                      
                        , 'Program Manager': 
                        
                          }

                        
                      
                    
                  
                
              
            
          

效果如下:還是很簡(jiǎn)單好用的~

python自動(dòng)化UI工具發(fā)送QQ消息的實(shí)例_第2張圖片

以上這篇python自動(dòng)化UI工具發(fā)送QQ消息的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 白河县| 怀集县| 依安县| 巍山| 乐平市| 林芝县| 奉节县| 阿坝| 成都市| 汨罗市| 微山县| 鱼台县| 盱眙县| 迭部县| 龙口市| 荥经县| 额尔古纳市| 九江市| 枞阳县| 承德县| 和龙市| 罗平县| 宜兰市| 阿合奇县| 永安市| 原平市| 万荣县| 平阳县| 伽师县| 沧州市| 江津市| 措美县| 墨脱县| 滨海县| 大兴区| 罗田县| 德保县| 怀来县| 离岛区| 永善县| 自治县|