python操作微信自動發消息的實現(微信聊天機器人)
前言
最近在學習python,發現一個微信自動發消息的小demo感覺很有意思,試了一下,不成功,因為demo中用的是itchat這個庫來操作微信,而這個庫是通過微信網頁版來操作微信的,現在微信網頁版已經不能登錄了所以失敗,我又試了第二種方法,我試圖找到微信界面上的搜索框控件,使用搜索框控件找到想法消息的人,然后發送消息,結果就是又失敗了,為啥呢?經過我翻翻翻,找找找,發現微信的界面是使用duilib實現的,界面都是畫上去的,控件只是邏輯上存在,而實際沒有,我們根本獲取不到,然后我只能通過手動移動鼠標的方式來實現了
1.打開微信,固定在左上角,這樣便于我們固定微信上各個控件所在坐標
2.把鼠標移動到微信左邊的“通訊錄”按鈕上,單擊,打開通訊錄
3.把鼠標移動到搜索框把你要找的人的微信名復制進去,回車,打開對話框(你要問我為什么要先打開通訊錄再去搜索框搜?問就是不知道,其實是經過我的實驗這樣比較穩定,直接搜有bug,如果你能找到其他的解決辦法請告訴我,謝謝啦)
4.把你要發送的話復制到對話框,回車或者alt+s 發送
這就結束了,下面是部分代碼
import win32clipboard as wimport win32conimport win32apiimport win32guiimport time #把文字放入剪貼板def setText(aString): w.OpenClipboard() w.EmptyClipboard() w.SetClipboardData(win32con.CF_UNICODETEXT,aString) w.CloseClipboard() #模擬ctrl+Vdef ctrlV(): win32api.keybd_event(17,0,0,0) #ctrl win32api.keybd_event(86,0,0,0) #V win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUP,0)#釋放按鍵 win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0) #模擬alt+sdef altS(): win32api.keybd_event(18,0,0,0) win32api.keybd_event(83,0,0,0) win32api.keybd_event(83,0,win32con.KEYEVENTF_KEYUP,0) win32api.keybd_event(18,0,win32con.KEYEVENTF_KEYUP,0)# 模擬enterdef enter(): win32api.keybd_event(13,0,0,0) win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP,0)#模擬單擊def click(): win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)#移動鼠標的位置def movePos(x,y): win32api.SetCursorPos((x,y)) if __name__=='__main__': #獲取鼠標當前位置 #hwnd=win32gui.FindWindow('MozillaWindowClass',None) hwnd = win32gui.FindWindow('WeChatMainWndForPC', None) win32gui.ShowWindow(hwnd,win32con.SW_SHOW) win32gui.MoveWindow(hwnd,0,0,1000,700,True) time.sleep(0.01) #1.移動鼠標到通訊錄位置,單擊打開通訊錄 movePos(28,147) click() #2.移動鼠標到搜索框,單擊,輸入要搜索的名字 movePos(148,35) click() setText(’胡歌’) ctrlV() time.sleep(1) #別問我為什么要停1秒,問就是給微信一個反應的時間,他反應慢反應不過來,其他位置暫停的原因同樣 enter() time.sleep(1) #3.復制要發送的消息,發送 setText(’你好啊’) ctrlV() altS()
全部代碼我已經放在了我的github上,歡迎下載https://github.com/p910/python
到此這篇關于python操作微信自動發消息的實現(微信聊天機器人)的文章就介紹到這了,更多相關python操作微信自動發消息 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: