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

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

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

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

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

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

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

没删我之前

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

删了我之后

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

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

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

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

环境

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

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

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

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

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

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

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

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

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

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

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

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

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

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。

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

# 兄弟们都放假了吗?我给大家准备了大量的学习资料、电子书、视频教程啥的,正好有时间可以提升一下自己
# 直接这个学习群自取就好了 708525271
# 删除把自己删除的人
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 实现了自动化找出微信中删除自己的人并将其删除的工作了。

好了今天的分享就到这里结束了,咱们下次见!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用Python找出了删除自己微信的所有人并将他们自动化删除了 - Python技术站

(0)
上一篇 2023年3月31日
下一篇 2023年3月31日

相关文章

  • Python绘制饼状图对商品库存进行分析

    今天来实践一下如何用Python对商品库存绘制饼状图进行分析 一、知识点 文件读写 基础语法 字符串处理 文件生成 数据构建 二、效果展示 一目了然 三、代码展示 兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。那么对于这些大兄弟们,我准备了大量的免费视频教…

    Python开发 2023年4月2日
    00
  • 10个优秀的Python库,实用且有趣

    哈喽兄弟们,今天分享10个优秀的Python库,超级实用! 为什么这么多人选择学习python?首先,python是一门全场景编程语言,对于初学编程的人而言,选择一门全场景编程语言是非常不错的选择;其次,python语言简单易学,对初学者十分友好,即便没有任何编程语言基础也很容易学习;另一大原因是因为python拥有大量的第三方库,开箱即用,可以更好地提高工…

    Python开发 2023年4月2日
    00
  • Python骚操作!实现自动制作各种证件照,这不比PS快多了!

    事情是这样的 晚上我正在聚精会神写代码(打游戏~) 突然,收到学妹给我发来的消息 还有一张自拍照 而且是可以放在结婚证上的那种哦 就是 之前帮过她几次忙 难道要以身相许 去一起办证 原来是照片尺寸不合适 让我帮她修图。还要什么蓝底、红底各种背景的 虽然有些失落 还是,默默的撸出了我39米长的python大刀 先上效果 1、尺寸长宽调整为:295×413 2、…

    Python开发 2023年4月2日
    00
  • 重温Python基础——操作列表

    哈喽兄弟们,今天咱们来复习一下Python基础中的列表操作,不知道各位还记得多少呢? 遍历整个列表加粗样式 遍历列表的所有元素,对每一个元素进行相同的操作,是我们常常所需要的。在python中可使用for()循环。 假如我们需要将一个列表中的手机品牌一一打印,我们可以分别获取手机品牌的名字。如果数据特别的,对我们的操作要求量很大,而且容易输入错误,但使用fo…

    Python开发 2023年4月2日
    00
  • Python基础巩固:如何同时遍历多个序列

    哈喽兄弟们,又是巩固复习基础知识的一天~ 今天来实现一下如何同时遍历多个序列 一、实战场景 实战场景: 如何同时遍历多个序列。 二、主要知识点 同时遍历多个序列zip 函数 三、菜鸟实战 马上安排! 1、创建 python 文件 # 导入系统包 import platform # 我还给大家准备了海量资料:Python视频教程、100本Python电子书、基…

    Python开发 2023年4月2日
    00
  • 将表格内不一样的数据,用Python自动发送给不同的人,实现高效摸鱼

    事情是这样的,罪恶的资本家老板,快下班了给我发一个压缩包,让我把数据发给客户微信,搞完就可以下班了,我心想这么好,一个文件不是让我直接就提前下班吗,万万没想到… 我就知道,万恶的资本家怎么可能放弃剥削我的机会,我打开一看,一个压缩包里面放了几百个表格,一个表格里面N个人,几十万条数据,三个微信好友一万多人,我真的会谢…都特么四点了,这不是搞我吗?换别的同事,…

    Python开发 2023年4月2日
    00
  • 用Python从文件中读取学生成绩,并计算最高分/最低分/平均分

    兄弟们,今天咱们试试用Python从文件中读取学生成绩,并计算最高分/最低分/平均分。 涉及知识点 文件读写 基础语法 字符串处理 循环遍历 代码展示 模块 import platform # 我还给大家准备了这些资料:Python视频教程、100本Python电子书、基础、爬虫、数据分析、web开发、机器学习、人工智能、面试题、Python学习路线图、问题…

    Python开发 2023年4月2日
    00
  • Python批量导出word文档中的图片、嵌入式文件

    学生试卷中的题目有要提交截图的,也有要提交文件的,为了方便学生考试,允许单独交或者嵌入Word中提交,那么事后如何整理学生的答案?单独提交的比较方便,直接扫描文件名匹配名字后放入指定文件夹即可。但是嵌入到Word中的图片和文件怎么提取出来呢? 现有如下需求:提取出一个Word文档中所有的图片(png、jpg)和嵌入的文件(任意格式)放入到指定的文件夹。 解决…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部