Itchat是一個開源的微信我的接口。使用python調用itchat的API,能夠完成一個可以處理全部信息的微信機器人。好比說你能夠寫python,利用itchat,去搜索特定的人,而後向這我的發送消息、圖片、視頻、附件等等。html
在作自動化測試框架時,每每若是有case沒有經過時,通常都會發郵件,或者發送短信進行通知相關人員。由於微信畢竟是如今很是主流的社交工具。若是在case有失敗的狀況下,若是能經過微信發送信息到相關人,豈不是更好。若是能把自動化運行的報告,最爲附件發送給相應人員,那就更加perfect了。python
衝着這2點(1是發微信文本消息,2是發微信附件),就是我想了解itchat的緣由。api
這是網上找的資料。(我只是看了第1個,第2個,第3個)微信
1. https://www.cnblogs.com/chenbei-blog/p/7799352.html框架
這個比較適合入門看,基本上看這裏,就夠用了。ide
2. http://itchat.readthedocs.io/zh/latest工具
這裏面講的更全面一點,固然也稍微難一點。測試
3. http://itchat.readthedocs.io/zh/latest/api/網站
這裏面列舉了itchat的全部API。有需求,就能夠在這裏直接找你須要的API。spa
4. http://python.jobbole.com/86532/
這篇文章,我只是瞄了一眼,沒有細看。貌似有寫很意思的功能,如羣發助手、好友刪除檢測。哈哈哈,之後有時間、有需求,再看。
5. https://www.cnblogs.com/Chenjiabing/p/6907397.html
這個文章的筆記,整理的比較細和全面。
若是須要發送附件的話,就是這麼簡單,幾行代碼就搞定了。
到這裏,利用itchat,在python中發送文本消息、以及附件那時至關簡單,只有幾行代碼。
可是這裏有個比較悲催的問題:登陸。
Itchat提供了2個登陸的方法,login()和auto_login()。
這2個方法都會經過微信掃描二維碼登陸,可是這種登陸的方式確實短期的登陸,並不會保留登陸的狀態,也就是下次登陸時仍是須要掃描二維碼。
用auto_login()方法,若是加上hotReload==True
。下面是官網的截圖說明。
因此它這麼說,若是程序關閉,那麼在短期內從新啓動程序能夠不用從新掃碼(可是有可能在手機上會彈出提示,讓你確認登陸。就像在PC上登陸網頁版,會在手機上彈出確認登陸的提示同樣)。那麼若是程序不關閉一直運行着,就不用從新掃碼。
可是考慮到自動化測試的可持續集成,我可能定時每隔30分鐘運行一次。可是30分鐘之後,又要進行掃碼,這個很顯然是不現實的。上面官方說,必定時間內開啓,不須要從新掃碼,可是沒有說清楚,這個必定時間究竟是多久。
我嘗試去找用戶名、密碼的登陸方式,可是沒有找到。我只找到了login()和auto_login()兩個方法。但願itchat之後,能夠有密碼的登陸方式。或者因爲個人緣由沒找到這個方式,歡迎告訴我。
下面是這2個API的官方說明:
這裏都是我從資料中找的代碼,簡單練了練手。這邊把他截圖出來。
這裏就不截圖了,上面《itchat-發送微信消息提醒【偏基礎】.py》中已經包括了。
這裏就不截圖了,上面已有。
這裏就不截圖了,上面已有。
在官方網站上,還有一個圖靈機器人的交互的例子,好像蠻有意思的。之後空了,能夠看看。