最近某位好友问我有没有一种工具,可以不打扰好友且绿色、安全、无毒检测出微信的僵尸粉。精心搜索了些文章学习了下,结果很多看不懂……
直到看到一位大佬的文章,使用Python+uiautomation自动获取好友列表。正巧最近看了点Python自动化的资料,这篇文章中代码的逻辑能看懂一半。由于很多年没有写过代码(本来也没写过几行代码),更没有写过Python代码。直接大招,Ctrl+c Ctrl+v,右键运行(具体安装IDE和下载uiautomation的类库不描述,网上教程很多),神奇的事情发生了,可以直接运行。瞬间打开了思路,有精神了。
大佬文章的链接:https://blog.csdn.net/weixin_45081575/article/details/126806657
查了些资料,有三种方式识别僵尸粉:
- 给好友发信息,拒收信息或提示发送失败,则为僵尸粉
- 新建群聊,提示未能创建群聊,或者提示需要添加好友后才能入群,则为僵尸粉
- 通过转账,提示非好友关系,则为僵尸粉
通过群发消息,必然各种骚扰好友,不得行!通过转账(python+appium感觉略微麻烦,关键是没有看懂多少)。那么,就用python自动模拟人的操作,在PC端的微信一步两步去建群检测吧。
注意:建群次数有限制!建群次数有限制!建群次数有限制!且群聊人数不要超过30人,否则会给好友发送群聊邀请。
可是代码该咋个写呢?没写过。百度!
引入需要的库,获取微信窗口句柄,使用快捷键激活微信为当前活动窗口,程序开始接管微信窗口,进行自动操作微信菜单
import uiautomation as auto
import time
import re
import os
wechatWindow = auto.WindowControl(searchDepth=1, Name="微信", ClassName='WeChatMainWndForPC')
auto.SendKeys(text='{Alt}{Ctrl}w')
首先,获取通讯录中全部好友列表,直接上copy大佬的代码(模拟操作滑动块的参数没有算明白,经过测试可以直接用)
def get_friends_list(num: int=10) -> list:
#auto.SendKeys(text='{Alt}{Ctrl}w')
wechatWindow.ButtonControl(Name="通讯录").Click()
wechatWindow.ListControl(Name="联系人").ButtonControl(Name="通讯录管理").Click()
contacts_window = auto.GetForegroundControl()
scroll = contacts