一个一个添加好友太麻烦,教你全自动添加好友

一个一个添加好友太麻烦,教你全自动添加好友

因为某种原因,需要在微信上添加大量的好友,打开微信,添加,添加好友,搜索,输入微信号,搜索,添加备注。

一阵操作下来,黄花菜都凉了,我看着我都着急,这可是有10000多的好友呀!!!

假如平均每5分钟添加一个好友,就需要50000分钟,833小时,假如每天算8小时,不停的添加好友。104天,每月30天,大概3个月就可以添加完成,到时候,我想你已经吐了。

想想,3个月时间,我们可以做什么,我们可以提升一个王者段位,可以外出旅行,可以多陪陪家人。

而现在,你距离你的梦想又救了一步,只需要一个程序,你就可以搞定手动添加好友的尴尬。让他自己动。

首先,我们来准备环境!

1.jdk

2.sdk

3.appium

4.node.js

5.一部手机,当然是智能手机。

6.一条数据线。

相关环境后期会做补充,这次主要是程序。

好,那下面看代码:

from appium import webdriver
import time
import xlrd

def is_content_Appeared(driver,content):
    try:
        driver.find_element_by_name(content)
        status=True
    except:
        status = False
    return status

desired_caps = {

                ‘platformName’: ‘Android’,
                ‘deviceName’: ‘232342232343’,
                ‘platformVersion’: ‘7.0’,#将要测试app的安装包放到自己电脑上执行安装或启动,如果不是从安装开始,则不是必填项,可以由下面红色的两句直接启动
                ‘appPackage’: ‘com.tencent.mm’, #红色部分如何获取下面讲解
                ‘appActivity’: ‘com.tencent.mm.ui.LauncherUI’,
                ‘unicodeKeyboard’: ‘True’, #此两行是为了解决字符输入不正确的问题
                ‘resetKeyboard’: ‘True’, #运行完成后重置软键盘的状态  
                ‘autoWebview’:’True’,
                ‘recreateChromeDriverSessions’:’True’,
                ‘automationName’:’Appium’
}
j,y=1,1000
list=[]
driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’, desired_caps)
for x in range(1,5):
    try:
        time.sleep(3)
        driver.find_element_by_id(“com.tencent.mm:id/g_”).click()
        time.sleep(3)
        driver.find_element_by_name(“添加朋友”).click()
        driver.find_element_by_id(“com.tencent.mm:id/ht”).click()
        xlsfile = r’C:\好友.xls’
        book = xlrd.open_workbook(xlsfile)  # 获得excel的book对象
        sheet_name = book.sheet_names()[0]  # 获得指定索引的sheet名字
        sheet = book.sheet_by_name(“Sheet1”)
        for i in  range(j,y):
            try:
                time.sleep(20)
                cell_value = int(sheet.cell_value(i, 2))#获取电话号码
                print(cell_value)
                driver.find_element_by_id(“com.tencent.mm:id/ht”).send_keys(cell_value)#输入电话号码
                time.sleep(3)
                driver.find_element_by_id(“com.tencent.mm:id/ayp”).click()
                time.sleep(3)
                if is_content_Appeared(driver,”添加到通讯录” )==True:
                    if is_content_Appeared(driver,”设置备注和标签”)==True:
                        driver.find_element_by_name(“设置备注和标签”).click()
                        time.sleep(3)
                        driver.find_element_by_name(“添加标签对联系人进行分类”).click()
                        time.sleep(3)
                        cell_value1 = sheet.cell_value(i, 3)  # 获取标签名
                        driver.find_element_by_name(“添加标签”).send_keys(cell_value1)
                        time.sleep(3)
                        driver.find_element_by_name(“保存”).click()
                        time.sleep(3)
                        driver.find_element_by_id(“com.tencent.mm:id/hy”).click()
                        time.sleep(3)
                        driver.find_element_by_name(“添加到通讯录”).click()
                        time.sleep(3)
                        driver.find_element_by_id(“com.tencent.mm:id/d0n”).clear()#清除备注名
                        time.sleep(3)
                        ell_value2 = sheet.cell_value(i, 0)
                        ell_value3 = sheet.cell_value(i, 1)
                        driver.find_element_by_id(“com.tencent.mm:id/d0n”).send_keys(ell_value2+”(“+ell_value3+”)”)#输入被备注名
                        time.sleep(3)
                        driver.find_element_by_name(“发送”).click()
                        time.sleep(3)
                        print(“成功发送验证消息!”)
                        driver.find_element_by_name(“返回”).click()
                        time.sleep(3)
                    else:
                        driver.find_element_by_name(“添加到通讯录”).click()
                        time.sleep(3)
                        driver.find_element_by_id(“com.tencent.mm:id/d0n”).clear()  # 清除备注名
                        time.sleep(3)
                        ell_value2 = sheet.cell_value(i, 0)
                        ell_value3 = sheet.cell_value(i, 1)
                        driver.find_element_by_id(“com.tencent.mm:id/d0n”).send_keys(
                            ell_value2 + “(” + ell_value3 + “)”)  # 输入被备注名
                        time.sleep(3)
                        driver.find_element_by_name(“发送”).click()
                        time.sleep(3)
                        print(“成功发送验证消息!”)
                        driver.find_element_by_name(“返回”).click()
                        time.sleep(3)
                elif is_content_Appeared(driver,”该用户不存在”)==True:
                    print(“该用户不存在”)
                    driver.find_element_by_id(“com.tencent.mm:id/ht”).clear()
                    time.sleep(3)
                elif is_content_Appeared(driver,”发消息”)==True:
                    print(“该用户已经添加为好友”)
                    driver.find_element_by_name(“返回”).click()
                    time.sleep(3)
                elif is_content_Appeared(driver,”操作过于频繁,请稍后再试”)==True:
                    print(“操作过于频繁,今天可能不能再添加好友,程序退出”)
                    driver.quit()
                    break
                else:
                    driver.save_screenshot(“D:\\app”+i+”.png”)
                    print(“其他情况”)
            except Exception as e:
                j=i
                driver.quit()
                time.sleep(3)
                driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’, desired_caps)
                continue
    except Exception as e:
        list.append(e)
        driver.quit()
        time.sleep(3)
        driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’, desired_caps)
        continue
    break
driver.quit()

 

 

 

了解更多,欢迎关注公众号,获取更多源代码。

获取相关自动添加好友软件,微信公众号,回复   “自动加好友”   获取网盘链接。

 

一个一个添加好友太麻烦,教你全自动添加好友

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111428.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月17日 下午5:00
下一篇 2021年9月17日 下午6:00


相关推荐

  • openclaw如何调用本地大模型,小龙虾自力更生

    openclaw如何调用本地大模型,小龙虾自力更生

    2026年3月13日
    3
  • 几率大的JVM面试题(含答案)

    几率大的JVM面试题(含答案)其他类型面试题汇总目录 Java 校招极大几率出的面试题 含答案 汇总本章面试题如下 JVM 三大性能调优参数 JVM 几个重要的参数 JVM 调优 JVM 内存管理 JVM 的常见的垃圾收集器 垃圾收集器 GC 调优 MinorGC FullGC 触发条件 java 内存模型 Java 垃圾回收机制 jvm 怎样判断一个对象是否可回收 怎样的对象才能作为 GCrootOOM 说一下 怎么排

    2026年3月27日
    4
  • jsonschema校验json数据_接口校验不通过

    jsonschema校验json数据_接口校验不通过何为Json-SchemaJson-schema是描述你的JSON数据格式;JSON模式(应用程序/模式+JSON)有多种用途,其中之一就是实例验证。验证过程可以是交互式或非交互式的。例如,应用程序可以使用JSON模式来构建用户界面使互动的内容生成除了用户输入检查或验证各种来源获取的数据。(来自百度百科)相关jar包<dependency><groupId>com.github.fge</groupId><artifactId&g

    2025年10月1日
    5
  • spin_lock &amp; mutex_lock的差别?

    spin_lock &amp; mutex_lock的差别?

    2021年11月13日
    56
  • leetcode最长无重复字符串_直线是一维还是二维

    leetcode最长无重复字符串_直线是一维还是二维【LeetCode】﹝前缀和ி﹞一维、二维前缀和应用文章目录【LeetCode】﹝前缀和ி﹞一维、二维前缀和应用在区间范围内统计奇数数目★区域和检索-数组不可变★★子数组异或查询★★定长子串中元音的最大数目★★生存人数★★二维区域和检索-矩阵不可变★★矩阵区域和★★矩形区域不超过K的最大数值和★★★在区间范围内统计奇数数目★1523.在区间范围内统计奇数数目【题目】给你两个非负整数low和high。请你返回low和high之间(包括二者)奇数的数目。【示例】输入:l

    2025年5月31日
    4
  • 一份完整测试方案模板

    一份完整测试方案模板一份完整测试方案模板文章目录前言整体架构图 1 1 编写目的 1 2 项目背景 1 3 测试目标 1 4 测试参考文档 1 5 测试提交文档 1 6 术语和缩写语 2 1 测试配置要求 2 2 测试方法 2 3 测试数据 2 4 测试策略 2 4 1 单元测试 2 4 2 集成测试 2 4 3 系统测试 1 功能测试 2 用户界面测试 4 兼容性测试 5 安全性测试 6 配置测试 7 回归测试 2 5 测试资源 2 6 测试阶段及范围

    2026年2月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号