美文网首页
Python 找出了删除我微信的所有人并将他们自动化删除,嘻嘻机

Python 找出了删除我微信的所有人并将他们自动化删除,嘻嘻机

作者: python小染 | 来源:发表于2021-01-09 10:28 被阅读0次

概述

不知你是否遇到过在微信上给通讯录中的某个人发消息,结果出现了这尴尬的一幕:

平时一直认为自己的心里素质过硬,不过遇到这种情况,心里暗暗的失落 ...

在我缓了半个钟头里(半分钟

)之后,缓缓拿出了手机,打开微信,找到通讯录中的 ABC,默默地按下了删除按钮,此刻的我心如止水 ...

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

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

现在已经知道了检测方式,正在我准备挨个检测时,无意识的滑动了微信通讯录列表,100、200 ... 500 ...

我去!什么时候加了这么多人,滑动列表的同时我顺势扫了一眼微信名字:A卖保险、B办理信用卡、C游泳健身、D卖保健品 ... 此刻我知道了微信通讯录中有这么多人的玄机,但是有个问题,这么多人我挨个手动执行转账还不累屎了 ...

如果手动执行的方式行不通,那么可以通过编程的方式自动化执行吗?想到这里我陷入了沉思 ...

突然我脑中闪了一下(不是抽筋哈

),思绪渐明,前几天我不是写了一篇Python + Appium 自动化操作微信入门吗?用这个应该就可以实现,编程实现的基本思路如下:

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

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

下面环境搭建与所需资料,和想要成为python大咖吗加入我们学习交流群一切不是梦不看别人眼色正在跳转​Q群:625223082

环境

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

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

从桌角下取出我的小米5s手机(MIUI10.2、Android8.0.0),擦擦灰尘后用数据线将其连到自己的电脑上

手机充了一会电之后开机,打开微信登录自己的微信号

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

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

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

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

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

Appium 的环境本文就不说了,如果不清楚的话,可以看一下:Python + Appium 自动化操作微信入门

实现

下面我们开始手动敲代码,如果对 Appium 基本代码操作不了解的话,还是可以去看一下我之前写的这篇: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。

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

# 删除把自己删除的人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 找出了删除我微信的所有人并将他们自动化删除,嘻嘻机

    概述 不知你是否遇到过在微信上给通讯录中的某个人发消息,结果出现了这尴尬的一幕: 平时一直认为自己的心里素质过硬,...

  • 人心是不待风吹而自落的花

    终于,我又删除了几个由自己建立起来的微信群,也退出了十几个长期不用的微信群。 感恩节退微信群,万圣节删除微信好友,...

  • 彻底删除微信聊天记录防止被恢复之实用教程?这波操作可以有

    怎样彻底删除微信记录,不再被别人恢复?的确,有人想着要恢复删除的微信聊天记录,也有人想方设法的删除微信记录,目的只...

  • 2018-12-17

    你删除我的同时,系统有没有给你提示,问你要不要确定?在你删除了我的微信之后。我就开始沉沦了。你删除的不只是我的微信...

  • 第一个被我删除的微信好友

    今天,第一次删除了一个微信好友,用微信那么多年第一次主动删除别人,为了是否删除我曾有过短暂的纠结,终于,还是删除了...

  • 微信删除

    今天才算是彻底想清楚一些事情 和前男友彻底没有联系 把他的电话删除 把他的微信删除 把有关于他的所有照片删除 一切...

  • 微信删除

    曾经我觉得加个微信就是朋友,现在想想不过是个工具而已。微信里的人大多是拿来做生意赚钱的。我在想我需要的是朋友而不是...

  • 删除的微信聊天记录能恢复吗

    删除的微信聊天记录能恢复吗 微信用户最担心的事莫过于微信聊天记录被删除和微信通讯录被清空了,聊天记录被删除还好,如...

  • 微信中的拉黑和删除哪个更绝情?

    微信虽然深度融合人们生活中,但避免不了有些朋友的拉黑与删除。也因此有人提出了,在微信中,拉黑与删除哪个更绝情? "...

  • 你已完全失去我

    删除了钉钉,删除了小号,删除了微信。 你加我微信说:冷静下也是好的。 你加我小号说:你又开始作了,真是服了你! 你...

网友评论

      本文标题:Python 找出了删除我微信的所有人并将他们自动化删除,嘻嘻机

      本文链接:https://www.haomeiwen.com/subject/qxqcaktx.html