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

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

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

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


相关推荐

  • vector越界访问会怎么样_vector下标访问

    vector越界访问会怎么样_vector下标访问intmain(){vector<int>ivec(10);cout<<ivec[0]<<endl;cout<<ivec[100]<endl;}vector中包含三个迭代器:first迭代器指向第一个元素;finish迭代器指向最后一个有效元素的下一个位置;end_of_storage迭代器指向整个vector空间末尾的下一个位置。访问ve…

    2022年10月1日
    0
  • win7中USB音箱没有声音解决的方法

    win7中USB音箱没有声音解决的方法

    2021年12月4日
    35
  • EnableEventValidation错误原因分析以及解决办法

    EnableEventValidation错误原因分析以及解决办法回发或回调参数无效。在配置中使用<pagesenableEventValidation="true"/>或在页面中使用<%@PageEnableEve

    2022年7月3日
    21
  • redis分布式锁的应用场景_redis为什么可以做分布式锁

    redis分布式锁的应用场景_redis为什么可以做分布式锁“分布式锁”是用来解决分布式应用中“并发冲突”的一种常用手段,实现方式一般有基于zookeeper及基于redis二种。具体到业务场景中,我们要考虑二种情况:一、抢不到锁的请求,允许丢弃(即:忽略)比如:一些不是很重要的场景,比如“监控数据持续上报”,某一篇文章的“已读/未读”标识位更新,对于同一个id,如果并发的请求同时到达,只要有一个请求处理成功,就算成功。用活动图表示如下:二、并发请求,不论哪一条都必须要处理的场景(即:不允许丢数据)比如:一个订单,客户正在前台修改地址,.

    2022年9月8日
    0
  • idea怎么远程debug_idea 多线程调试

    idea怎么远程debug_idea 多线程调试1,远程DEBUG的必要性由于部署环境的差异性,相信很多朋友都碰到过开发环境正常测试过的功能在测试环境甚至生产环境下出现bug的情况。一般情况下,生产环境可以采取的手段比较单一,即通过日志的方式获取运行中的环境上下文,分析日志文件并尝试重现bug。这会带来的问题还是不少的,首先,日志的分析是一项比较耗时的工作;其次,现有的日志记录不一定能反映出问题,你可能需要多次重复这个过程(分析日志->猜测问题->加日志->部署->获取日志)来慢慢逼近问题。倘若是测试环境,我们还多了一项可..

    2022年9月11日
    0
  • myeclipse8.5注册码在线生成_MyEclipse激活码

    myeclipse8.5注册码在线生成_MyEclipse激活码主要是myeclipse8.0的注册码,估计7.5的也能用,注册码都是到2014年12月过期,附送注册机Subscriber:zxSubscriptionCode:mLR8ZO-655444-6967865456424254Subscriber:huahuaSubscriptionCode:uLR8ZO-655444-69678657696224504Subscriber:yayaSubsc

    2022年9月30日
    0

发表回复

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

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