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

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

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

一阵操作下来,黄花菜都凉了,我看着我都着急,这可是有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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring boot springcloud(内网vue项目搭建)

    目录编写第一个REST接口读取配置文件profiles多环境配置热部署actuator监控自定义actuator端点统一异常处理异步执行随机端口编译打包在SpringTools4forEclipse中依次选择File->New->MavenProject,然后在出现的界面中按图1所示增加相关信息。图1创建maven项目完了上述操作之后,在pom.xml中添加SpringBoot的依赖…

    2022年4月16日
    113
  • java中的反射

    java中的反射主要介绍以下几方面内容理解Class类理解Java的类加载机制学会使用ClassLoader进行类加载理解反射的机制掌握Constructor、Method、Field类的用法理解并掌

    2022年7月1日
    22
  • [Android 源码] Android源码下载「建议收藏」

    [Android 源码] Android源码下载「建议收藏」Android源码下载为了能够顺利的下载Android的源码,同时也为了避免在网络上再次搜寻如何下载源码的麻烦,我把下载过程记录在这篇文档中。官网中也有详细的介绍:http://source.andr

    2022年8月5日
    5
  • Python获取Websocket接口的数据

    Python获取Websocket接口的数据作者:小小明在前面的用Tornado实现web聊天室一文中介绍了python实现websocket的方法,这篇文章将要分享如何用python作为客户端获取websocket接口的数据。前文链接:https://blog.csdn.net/as604049322/article/details/112386560websocket的使用WebSocket是一种在单个TCP/TSL连接上,进行全双工、双向通信的协议。WebSocket可以让客户端与服务器之间的数据交换变得更加简单高效,服务端.

    2022年7月15日
    27
  • Spring AOP 最热门面试题及答案「建议收藏」

    Spring AOP 最热门面试题及答案「建议收藏」译者的话前几天去京东面试,被问到AOP相关的问题,之前一直没有系统地学习相关的知识,答得不是很好。趁着假期,找了一下相关的资料,CSDN上有很多不错的文章,看了之后对AOP有比较好的理解了。然后Google了一下AOP相关面试题(AOPinterview),搜出来的第一条结果是一个叫HowToDoInJava的网站上的一篇文章TopSpringAOPIntervie…

    2022年8月11日
    7
  • Lintcode 1667.石头

    Lintcode 1667.石头题目大意:一条直线上有n个石头,一个人从左往右走,碰到奇数块石头(碰到一块石头数一个数,这里指数的数是奇数),就往右扔,碰到偶数的石头就不管他,如果两块石头在同一个位置,就扔大的那块(能扔的距离小的)。问最后最远的那块石头的位置。思路:用优先队列模拟,每遇到奇数石头,就将其坐标加上D[i],放回优先队列,当石头重叠时,先扔投大的(能扔的距离小的),故在比较函数中,以位置为第一关键字,以投掷距离…

    2022年7月24日
    7

发表回复

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

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