在当今社交软件中,微信是最常用的通讯工具之一。然而,随着时间的推移,我们的好友列表中可能会出现一些不再活跃的账号,也就是我们俗称的僵尸粉。 这些账号可能是由于长时间不使用
在当今社交软件中,微信是最常用的通讯工具之一。然而,随着时间的推移,我们的好友列表中可能会出现一些不再活跃的账号,也就是我们俗称的“僵尸粉”。 这些账号可能是由于长时间不使用、账号被封禁或者故意将我们删除或拉黑。为了保持好友列表的清洁和有效沟通,同时也为了帮助我们更好地管理微信好友,最近我使用 Python 和 uiautomator2 库编写了一个自动化工具来清理这些僵尸粉。 这个工具会通过检测好友的状态(如是否被删除、是否被拉黑或是否账号出现问题)来批量标记并处理这些好友。 这个工具的主要功能包括:
接下来,我将从代码的整体结构开始分析,介绍如何使用 uiautomator2 来控制 Android 设备,并通过自动化方式清理微信中的僵尸粉。 需要注意的是:因为我手头上只有一部 OPPO Reno4 Pro 安卓手机,因此只能在这部手机上做了实验。不太确定是否在其他机型上有无问题。 核心类和初始化这段代码定义了一个名为 WXCleanFriends 的类,该类包含了所有执行清理操作的核心方法。类内部包含多个常量和状态标记,用于表示不同的好友状态,如正常、被删除、被拉黑等。
初始化方法接受三个参数:
自动化打开微信
weixin_start 方法用于启动微信应用。它通过 uiautomator2 来模拟点击操作。如果当前页面没有找到微信应用,程序将退出。 获取好友信息和状态判断
get_personal_info 方法通过定位 UI 元素来提取好友的个人信息,包括备注名、昵称、微信号、地区和标签等。
judge_friend_status 方法通过一系列点击操作模拟转账行为,根据页面弹窗判断好友的状态。主要判断的状态包括:
标签管理
has_join_tag_group 方法用于判断好友是否已经被打上某个标签,比如“清粉-被删除”。根据返回值,程序决定是否为好友添加新标签。 针对不同的好友状态进行后续的操作
当我们判断清楚了每一位好友的状态之后,我们还需要退回到通讯录页面,方便继续检测下一位好友。但是极有可能每一个状态返回到通讯录中的步骤可能不一样,因此,我们就最好是根据不同的状态来分别处理。 接下来就是最重要的步骤了,通过遍历通讯录中的每一个好友,来检测每一位好友的状态如何。 循环检查每个好友
check_every_friend 方法遍历好友列表,进入每个好友的详情页面,根据好友的状态进行相应的处理。如果好友状态符合删除、拉黑或账号问题,程序会为其打上对应标签。 让代码跑起来核心代码已经写完了,剩下的步骤就比较简单了,让代码跑起来就行了
总结这款微信清理僵尸粉工具使用 Python 和 uiautomator2 库通过自动化方式帮助我们批量清理微信好友中的不活跃或无效好友。 通过检查好友的状态并为其打上标签,工具不仅提高了清理效率,也避免了人工逐个操作的繁琐。对于开发者而言,这个项目展示了如何结合 Python 与自动化工具进行高效的设备操作和应用管理。 |
2019-06-18
2019-07-04
2021-05-23
2021-05-27
2021-05-27