通过影刀rpa实现手机vx自动批量添加好友

大家好,我是10年码农大兵,目前是一位RPA定制开发者,计划帮忙开发并开源20个RPA机器人项目,如果您有rpa或相关自动化开发需求,欢迎发私信和我交流。
本次开源的RPA项目是:手机微信批量添加好友机器人

需求描述

通过影刀实现模拟人工在手机上自动批量添加微信好友

开发环境:

软件:
影刀ShadowBot-5.20.22-x64.exe
设备:
小米手机note3
手机app:
手机微信V8.0.50
其他:
联系人exel模版
在这里插入图片描述


功能实现:

影刀新增应用
在这里插入图片描述
选择手机自动化
在这里插入图片描述
新建python模块
在这里插入图片描述
在这里插入图片描述

复制以下的源码到新建的python模块module1.py文件中

# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块

import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
from xbot.mobile import appium
from xbot import excel
from datetime import datetime
import random 

def sendAddWxFriend(row,index,worksheet,session):
  print("开始执行添加好友")
  print(row)
  #姓名
  uname = row[0]
  #手机或微信号
  uid = row[1]
  sendContent = row[2]
  if sendContent is None or sendContent == '': 
    sendContent ="你好"

  #是否已发送
  isSend = row[4]
  if isSend is not None: 
    return

  result = toMobelAdd(uname,uid,sendContent,session)
  isok = result["isok"]
  msg = result["msg"]
  #申请时间
  now = datetime.now()  
  nowTime = now.strftime('%Y-%m-%d %H:%M:%S') 
  worksheet.set_cell(index, 'D', nowTime)
  if(isok == True):
    worksheet.set_cell(index, 'E', '是')

  if(isok == False):
    worksheet.set_cell(index, 'E', '否')
    #失败原因
    worksheet.set_cell(index, 'F', msg)
  
  wait_time = random.randint(120, 200)
  print(f"等待{wait_time}秒") 
  sleep(wait_time)
        
def toMobelAdd(name,uid,sendContent,session):
  result = {  
    "isok": True,  
    "msg": ""  
  } 
  try:
    #点击输入账号或手机输入框
    element = session.find_by_id("com.tencent.mm:id/mmz")
    element.click()
    sleep(1)
    #输入账号或手机输入框
    element = session.find_by_id("com.tencent.mm:id/d98")
    element.input(uid)
    sleep(1)
    #点击搜索
    element = session.find_by_id("com.tencent.mm:id/o_q")
    element.click()
    sleep(2)
     #选择第一个
    #element = session.find_by_id("com.tencent.mm:id/cfq")
    #element.click()
    sleep(1)
    #添加到通讯录
    try:
      element = session.find_by_id("com.tencent.mm:id/o3b")
    except Exception as e:
      print("搜索不到")
      result["msg"] = "用户不存在" 
      result["isok"] = False
      session.back()
      return result
    element.click()
    sleep(1)
      #验证消息输入框
    element = session.find_by_id("com.tencent.mm:id/m9y")
    element.input(sendContent)
    sleep(1)
    #设置标签
    element = session.find_by_id("com.tencent.mm:id/cd6")
    element.click()
    sleep(2)
      #选择标签
    element = session.find_by_text("标签")
    element.click()
    sleep(1)
      #右上角的保存
    element = session.find_by_id("com.tencent.mm:id/fp")
    element.click()
    sleep(1)
      #发送按钮
    element = session.find_by_id("com.tencent.mm:id/g68")
    element.click()
    sleep(1)
    session.back()
    sleep(1)
    session.back()
  except Exception as e2:
    print(e2)
    result["msg"] = "程序异常" 
    result["isok"] = False
    session.back()
    sleep(2)
    session.back()
  return result
        




def main(args):
    workbook = excel.open('C:\\微信联系人.xlsx', kind='auto_check', visible=True)
    worksheet = workbook.get_sheet_by_index(1)
    session = appium.connect_by_custom_name('Mi Note 3')
    session.open_app("com.tencent.mm")
    sleep(1)
    #通讯录
    elements = session.find_all_by_id("com.tencent.mm:id/h6y")
    element = elements[1]
    element.click()
    sleep(1)
    #添加按钮
    elements = session.find_all_by_id("com.tencent.mm:id/h5n")
    element = elements[1]
    element.click()
    sleep(1)
    #添加朋友按钮
    elements = session.find_all_by_id("com.tencent.mm:id/obc")
    element = elements[1]
    element.click()
    sleep(1)
    
    firstColumn = worksheet.get_column(1)
    columnLen = len(firstColumn)
    data = worksheet.get_range(2, 'A', columnLen, 'F')
    print(data)
    for i in range(len(data)):
      if data[i][0] is None: 
        break
      sendAddWxFriend(data[i],i+2,worksheet,session)
      workbook.save()
   
    workbook.close()      
   

电脑连接手机,修改相关源码的excel路径及要连接的手机设备名称,点击运行
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值