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

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

用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 实现了自动化找出微信中删除自己的人并将其删除的工作了。

以上内容均参考文章,自己研究,如有雷同,纯属巧合。

相关文章
|
11月前
|
机器人 数据安全/隐私保护 Python
企业微信自动回复软件,企业微信自动回复机器人,python框架分享
企业微信机器人包含完整的消息处理流程,支持文本消息自动回复、事件处理、消息加密解密等功能
|
10月前
|
安全 JavaScript 开发者
Python 自动化办公神器|一键转换所有文档为 PDF
本文介绍一个自动化批量将 Word、Excel、PPT、TXT、HTML 及图片转换为 PDF 的 Python 脚本。支持多格式识别、错误处理与日志记录,适用于文档归档、报告整理等场景,大幅提升办公效率。仅限 Windows 平台,需安装 Office 及相关依赖。
518 0
|
11月前
|
数据采集 存储 C++
Python异步爬虫(aiohttp)加速微信公众号图片下载
Python异步爬虫(aiohttp)加速微信公众号图片下载
|
11月前
|
数据安全/隐私保护 Python
微信群成员导出工具, 微信群成员导出软件, 微信群管理工具软件【python】
这个工具提供了完整的微信群成员导出功能,包括登录微信、获取群列表、导出成员信息到Excel等功能
|
11月前
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
8月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
1313 2
|
11月前
|
数据采集 人工智能 API
推荐一款Python开源的AI自动化工具:Browser Use
Browser Use 是一款基于 Python 的开源 AI 自动化工具,融合大型语言模型与浏览器自动化技术,支持网页导航、数据抓取、智能决策等操作,适用于测试、爬虫、信息提取等多种场景。
1432 4
推荐一款Python开源的AI自动化工具:Browser Use
|
9月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
9月前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
11月前
|
API 数据安全/隐私保护 开发者
企业微信自动加好友软件,导入手机号批量添加微信好友,python版本源码分享
代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能

推荐镜像

更多