用Python找出了删除自己微信的所有人并将他们自动化删除了

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

哈喽兄弟们今天我们来试试用Python找出了删除自己微信的所有人并将他们自动化删除免得每次看到感叹号心塞。

这不昨晚小姨子一个人喝多了喊我去接她但是我睡到现在刚发消息就发现把我拉黑了…

你是否也有微信被删了好友不自知还傻傻的给对方发消息结果出现了下图中那尴尬的一幕的经历呢其实我们可以用Python提前把他们找出来并自动化删除避免尴尬的。
在这里插入图片描述

为了避免再次出现上述情况我决定把微信通讯录中删除了自己的人全部找出来并且删除之前我已经在网上了解到检查自己的微信是否被删比较好的方式就是转账通过转账我们可以实现无痕检测。

下面我们通过两张图片直观的看一下微信被删前后给别人转账的效果

没删我之前

删了我之后

现在已经知道了检测方式正在我准备挨个检测时无意识的滑动了微信通讯录列表100、200 … 500 …
编程实现的基本思路如下

获取微信通讯录列表中每个人的名字备注并记录这个是不会有重复的因为即使在之前加好友时有重复的自己也会在备注时给改了

遍历获取到的通讯录列表分别对每一个人执行转账操作如果检测到是删除自己的人就对其执行删除操作如果检测到不是删除自己的人则继续检测下一个人依次往复循环

环境

因之前在模拟器上测试 Appium 模拟微信转账可能有点问题因此本文使用真机实现。

先简单介绍一下真机环境下面一起来看一下相应步骤。

打开微信登录自己的微信号

在手机中依次执行点击设置->我的设备->全部参数->MIUI版本多次点击开启开发者模式->返回设置列表->更多设置->开发者选项->开启开发者选项并分别开启USB调试、USB安装、USB调试安全设置选项如图所示

此时手机上会弹出USB的用途弹框我们选择传输文件MTP即可如图所示

在电脑 CMD 中执行 adb devices 命令看是否能找到自己的手机比如下图所示就是成功的结果了

在上面步骤中你可能出现找不到手机的情况通常这种情况是驱动问题这里介绍一种简单的处理方式下载一个驱动精灵安装启动之后点击驱动管理之后安装相应驱动即可解决如图所示

通过上面的一系列操作我们已经处理好了真机环境了。

Appium 的环境本文就不说了如果不清楚的话可以看一下环境
首先看一下相应参数配置代码实现如下

desired_caps = {
    "platformName": "Android", # 系统
    "platformVersion": "8.0.0", # 系统本号
    "deviceName": "m5s", # 设备名
    "appPackage": "com.tencent.mm", # 包名
    "appActivity": ".ui.LauncherUI", # app 启动时主 Activity
    'unicodeKeyboard': True, # 使用自带输入法
    'noReset': True # 保留 session 信息可以避免重新登录
}

接着看一下如何获取微信通讯录名字备注列表代码实现如下

# 获取通讯录列表
def get_address_list():
    driver.find_elements_by_id('com.tencent.mm:id/cn_')[1].click()
    # 获取昵称备注
    address_list = driver.find_elements_by_id('com.tencent.mm:id/dy5')
    remarks = []
    for address in address_list:
        remark = address.get_attribute("content-desc")
        # 排除自己和微信官方号
        if remark != "自己的微信名" and "微信" not in remark:
            remarks.append(remark)
    return remarks

取到了微信通讯录列表之后我们就可以对其进行遍历检测了下面看一下如何实现检测自己的微信是否被删代码实现如下

# 判断是否被删
def is_delete(remark, count):
    if count == "1":
        time.sleep(2)
        print('点击微信搜索框')
        driver.find_element_by_id('com.tencent.mm:id/cn1').click()
    time.sleep(2)
    print('在搜索框输入搜索信息')
    driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys(remark)
    time.sleep(2)
    print('点击搜索到的好友')
    driver.find_element_by_id('com.tencent.mm:id/tm').click()
    time.sleep(2)
    # 转账
    driver.find_element_by_id('com.tencent.mm:id/aks').click()
    time.sleep(2)
    driver.find_elements_by_id('com.tencent.mm:id/pa')[5].click()
    time.sleep(2)
    driver.find_element_by_id('com.tencent.mm:id/cx_').click()
    time.sleep(2)
    driver.find_element_by_id('com.tencent.mm:id/cxi').click()
    time.sleep(5)
    # 判断是否被删
    is_exist = is_element_exist('com.tencent.mm:id/jh')
    if is_exist is True:
        return remark
    else:
        return False

上述方法中如果检测到是删了自己微信的人就返回那个人的微信名备注然后我们将这些人记录起来如果检测到不是删除自己微信的人就返回 False。

上述过程执行完了之后我们就可以获取到所有删了自己微信的人了接下来我们就可以将这些人都从自己微信通讯录中删除了删除实现的代码如下

# 删除把自己删除的人
def del_person(nicks):
    for inx, val in enumerate(nicks):
        time.sleep(2)
        if inx == 0:
            print('在搜索框输入搜索信息')
            driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys(val)
        else:
            time.sleep(2)
            print('点击微信搜索框')
            driver.find_element_by_id('com.tencent.mm:id/cn1').click()
            print('在搜索框输入搜索信息')
            time.sleep(1)
            driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys(val)
        time.sleep(2)
        print('点击搜索到的人')
        driver.find_element_by_id('com.tencent.mm:id/tm').click()
        time.sleep(2)
        print('点击聊天对话框右上角...')
        driver.find_element_by_id('com.tencent.mm:id/cj').click()
        time.sleep(2)
        print('点击头像')
        driver.find_element_by_id('com.tencent.mm:id/f3y').click()
        time.sleep(2)
        print('点击联系人右上角...')
        driver.find_element_by_id('com.tencent.mm:id/cj').click()
        time.sleep(2)
        print('点击删除按钮')
        driver.find_element_by_id('com.tencent.mm:id/g6f').click()
        time.sleep(2)
        print('点击弹出框中的删除')
        driver.find_element_by_id('com.tencent.mm:id/doz').click()

至此我们就利用 Python + Appium 实现了自动化找出微信中删除自己的人并将其删除的工作了。

好了今天的分享就到这里结束了兄弟们都放假了吗我给大家准备了大量的学习资料、电子书、视频教程啥的正好有时间可以提升一下自己直接在下方名片自取就好了。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python