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

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

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

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


相关推荐

  • c语言中putchar的用法举例_c语言getchar和gets

    c语言中putchar的用法举例_c语言getchar和gets认识getchar是以行为单位进行存取的当用getchar进行输入时,如果输入的第一个字符为有效字符(即输入是文件结束符EOF,Windows下为组合键Ctrl+Z,Unix/Linux下为组合键Ctrl+D)那么只有当最后一个输入字符为换行符’\n'(也可以是文件结束符EOF,EOF将在后面讨论)时,getchar才会停止执行,整个程序将会往下执行。譬如下面程序代码:while((c=getchar())!=EOF){putchar(c);}执行程序,输入:abc,然

    2022年10月10日
    1
  • 订单支付功能对接支付宝支付接口「建议收藏」

    订单支付功能对接支付宝支付接口「建议收藏」求助:这张GIF的效果动图整了一个多小时,没找到好的编辑软件,都太难用了。如果恰巧看到这篇文章有好的GIF编辑或者录制软件,请推荐一个!万谢订单支付功能是购物的最后一个环节,本文将通过对接支付宝的接口,实现支付宝付款功能。蚂蚁金服开放平台专门为开发者的网站,包含了支付宝中涉及的很多功能接口,本文的功能实现是在沙箱环境中进行,蚂蚁沙箱环境(Beta)是协助开发者进行接口功能开发及主要功能联

    2022年5月3日
    160
  • pac与全局模式_全局代理模式

    pac与全局模式_全局代理模式1.在全局模式下,所有的网站都默认走代理(使你的所有http/socks数据经过代理服务器的转发送出。)2.在PAC模式是只有被墙了的网站才会走代理(连接网站的时候读取PAC文件里的规则,来确定你访问的网站有没有被墙,如果符合,那就会使用代理服务器连接网站)。设置本地PAC模式比如sublimeText的插件生态https://packageco…

    2022年10月19日
    4
  • JDBC+Servlet+JSP整合开发之28-JSP_标准标签(JSTL)

    JDBC+Servlet+JSP整合开发之28-JSP_标准标签(JSTL)

    2021年8月6日
    54
  • Pandas笔记_python总结笔记

    Pandas笔记_python总结笔记创建数据随机数据创建一个Series,pandas可以生成一个默认的索引s=pd.Series([1,3,5,np.nan,6,8])通过numpy创建DataFrame,包含一个日期索引,以及标记的列dates=pd.date_range(‘20170101’,periods=6)df=pd.DataFrame(np.random.randn(6,…

    2022年8月26日
    4

发表回复

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

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