有时候因为工作需要,不得不在微信上添加一堆好友,既不想花钱购买一些工具,又想跟自己的业务深度结合,怎么办呢,这时候不妨借鉴一下自动化测试的思路,利用appium框架(appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的),让工作更有效率。

一、环境搭建

安装Node.js

安装JDK,及配置环境变量

安装Android SDK,及配置环境变量

安装Appium桌面版本

安装Python/Java(选自己习惯的就行)

关于过程,就不在此赘述了,网上有很多很详细的教程

二、Python代码实现

基本思路:启动微信app,模拟点击搜索按钮,输入预先准备好的手机号,判断跟该手机号的好友关系,如果是好友则跳过,如果不是好友则添加好友,添加的过程中,如果需要发送验证申请,则输入准备好的文案话术,并修改好友备注,最后模拟点击发送。

# -*- coding: utf-8 -*-

from appium import webdriver

from time import sleep

def get_data(mobile,words,note):

#设置模拟器及APP参数

desired_caps = {}

desired_caps['platformName'] = 'Android'

desired_caps['deviceName'] = 'ALP-AL00'

desired_caps['appPackage'] = 'com.tencent.mm'

desired_caps['appActivity'] = '.ui.LauncherUI'

desired_caps['noReset'] = True

desired_caps['autoGrantPermission'] = True

desired_caps['unicodeKeyboard'] = True

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

sleep(3)

#选择并点击查找按钮

driver.find_element_by_id("com.tencent.mm:id/qi").click()

#输入手机号

driver.find_element_by_id("com.tencent.mm:id/li").send_keys(str(mobile))

#查找当前页面是否有联系人模块,若无则该手机号待添加,若有则已是微信好友

views = driver.find_elements_by_id("com.tencent.mm:id/ra")

if len(views) == 0:

#选择并点击查找手机号菜单

driver.find_element_by_id("com.tencent.mm:id/c2c").click()

#查找当前页是否有提示弹窗,若有则用户不存在(可能是不允许被手机号搜到),若无则用户待添加。

box = driver.find_elements_by_id("com.tencent.mm:id/dd9")

if len(box) == 0:

#选择并点击"添加到通讯录"

driver.find_element_by_id("com.tencent.mm:id/cw").click()

msg = driver.find_elements_by_id("com.tencent.mm:id/cw")

if len(msg) == 1:

print(str(mobile) + "用户已添加成功")

else:

#编辑验证申请话术

driver.find_element_by_id("com.tencent.mm:id/ea4").clear()

driver.find_element_by_id("com.tencent.mm:id/ea4").send_keys(str(words))

#编辑好友备注

driver.find_element_by_id("com.tencent.mm:id/ea8").send_keys(str(note))

#点击发送验证申请按钮

driver.find_element_by_id("com.tencent.mm:id/kz").click()

print(str(mobile) + "等待用户验证")

else:

print(str(mobile) + "用户不存在")

else:

print(str(mobile) + "已是微信好友")

mobiles = [186xxxxxxxx,187xxxxxxxx,152xxxxxxxx]

words = "您好,我是侯永胜:)"

for mobile in mobiles:

zh_name = '小明'

account_id = '19321'

business_id = '818'

note = '_' + zh_name + '_' + business_id + '_' + account_id

get_data(mobile,words,note)

上述只是一个简单的应用场景,还可以横向和纵向的进行拓展,总之appium很强大,值得探索,但别用来薅羊毛哈:)

python批量加微信好友_python如何自动批量添加微信好友并修改备注相关推荐

  1. 领英如何批量添加搜索的人脉,批量加领英推荐人脉,批量加精灵推荐人脉,批量加Groups成员,通过链接批量加人

    Linkedin平台是一个关系型职业社交平台,每个Linkedin标准账号可添加3万名1度人脉.使用Linkedin的朋友都希望快速多添加好友,扩大自己的人脉圈,增加销售或就业机会. 然而手动添加好友 ...

  2. python爬虫爬取微信网页_python下爬虫爬取微信公众号文章给网站的相关操作与问题...

    一.出发点 在dodo团队知乎号开刊文章中已介绍过本团队平常的实际工作,我们是一个从事游戏与金融结合的项目开发与运营团队.技术上主要是从事游戏分期.玩后付支付插件.游戏充值app等前后端开发,主要使用 ...

  3. python重新加载文件_Python的重新加载知识点总结

    简述Python的重新加载 为防止两个模块互相导入的问题,Python默认所有的模块都只导入一次,如果需要重新导入模块, Python2.7可以直接用reload(),Python3可以用下面几种方法 ...

  4. acrobat给pdf加多行水印_批量pdf如何添加水印 多个pdf批量加相同水印的方法|支持同时添加文字、图片水印...

    本次还是给大家讲讲pdf文件的编辑转换处理,毕竟pdf文件也是在办公学习上是很常用到的,工作时很经常会遇到多个pdf文件要处理的情况,比如说制作好了一系列的pdf文档,需要上传到网络或者传输给他人查阅 ...

  5. python时间函数纳秒_python – 获取纳秒级精度的文件修改时间

    我需要为遍历文件系统树的Python 2程序中的每个文件获取完整的纳秒精度修改时间戳.我想在Python本身中这样做,因为为每个文件生成一个新的子进程会很慢. 通过查看stat结果的st_mtime_ ...

  6. php公众号自动回复链接,微信公众号自动回复超链接怎么添加-微信公众号添加自动回复超链接的方法 - 河东软件园...

    很多的微信公众号都是带有商业性质的,当我们关注一个公众号之后若是回复相应的关键词之后公众号后台会自动给我们返回一些文字或是超链接,有的超链接不会显示网址,而是更改了颜色的字体.等待我们点击之后就会自动 ...

  7. python发送文件给微信好友_Python定时自动给微信好友发送天气预报

    效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.sche ...

  8. python批量添加qq好友_python实现QQ批量登录功能

    本文实例为大家分享了python实现QQ批量登录功能的具体代码,供大家参考,具体内容如下 小编收集整理的第一份代码:python3.6批量登陆QQ import os import time impo ...

  9. python股票交易微信提醒_python实现秒杀商品的微信自动提醒功能(附代码)

    技术实现原理:获取京东的具体的商品信息,然后再使用微信发送提醒 工具:需要两个微信号,这两个微信号互为好友 如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的 ...

  10. python自动批量发邮件脚本_Python实现自动发送邮件功能

    简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件.Python提供smtplib模块,该模块定义了一个SMTP客户端会话对象,可用于使用SMTP或ESMTP侦听器 ...

最新文章

  1. python实现项目的复制_Python之copy模块
  2. 洛谷P1541 乌龟棋
  3. Windows PE 重定位表编程(枚举重定位地址)
  4. mysql variables_通过什么命令能够改变mysql的variables的变量里的值?
  5. 【学习笔记】21、随机数模快
  6. 分布式实时计算—Storm—基础介绍
  7. 计算机等级考试试题4,计算机等级考试二级模拟试题4
  8. jquery flot pie画饼图
  9. 手机网页设计注意事项和解决方法
  10. Python 从协议到抽象基类
  11. Problems with Ribbon/Feign/Zuul retry
  12. 百度云存储教程---免费建立自己的静态网站
  13. php图文编辑,ThinkPHP整合百度Ueditor编辑器的图文教程
  14. TGBUS主页面 HTML的编写
  15. Visual Studio 报错:未能加载工具箱项,将从项目中移除
  16. GitHub 装逼指南
  17. 删除用户 userdel
  18. 简单控件的应用(二)—学生管理系统
  19. ker矩阵是什么意思_如何理解正定矩阵和半正定矩阵
  20. zdhadljaljdjadajdjald

热门文章

  1. 项目管理知识体系指南(十)项目风险管理
  2. jena使用 java_【jena】 jena基本使用
  3. 腾讯收入证明泄漏,税后250万,月均20万...
  4. 使用app管理家庭路由器(TP-Link,水星,腾达等)
  5. PTA - 数据库合集4
  6. SAP发票校验中支付条件中的基准日期缺省值的配置及控制逻辑测试
  7. 科技爱好者周刊(第 189 期):下一个内卷的行业
  8. mysql结构改写为hbase表_sqlite数据库修改表结构
  9. codevs5172 装病的聚聚 (最短路spfa的延伸应用)(对三角不等式的深入理解)--by lethalboy
  10. 爸爸是个计算机工程师,作文:我的爸爸是工程师