Python实现微信消息连续发送

我最近遇到了这样的一个问题,我的室友自从玩了原神以后就很少叫我打永劫无间了。有的人信誓旦旦地说着自己不是二刺螈,身体却很老实,在手机电脑ipad上都下载了原神还看起了b站攻略。

为警醒室友,本人利用前阵子花半小时学来的pyautogui模块进行了如下尝试:

操作如下:1、对微信搜索框进行截图并保存,后面用来比对定位,会返回搜索框的坐标位置用来输入好友昵称。 2、运行下面代码,点开微信窗口,时间一到自会进行全屏截图。3、代码会根据全屏截图与第一步中的图片进行对比,从而进行搜索和发送。

代码如下:保存完图片后可直接复制粘贴使用,我将上面的搜索框截图后保存名为xxx.jpg。

import os
import cv2
import time
import pyperclip #用于复制粘贴
import pyautogui

#从屏幕screen中找到source的位置坐标(找到微信搜索框的位置)
def findImg():
    im = pyautogui.screenshot()
    im.save('screen.png')
    screen = cv2.imread('./screen.png')
    mPicture= cv2.imread('./xxx.jpg')
    result = cv2.matchTemplate(mPicture,screen, cv2.TM_CCOEFF_NORMED)
    pos_start = cv2.minMaxLoc(result)[3] #获取最相似点相似坐标
    x = int(pos_start[0]) + int(mPicture.shape[1] / 2)
    y = int(pos_start[1]) + int(mPicture.shape[0] / 2)
    return x,y

#向搜索框中录入要查找的好友名称:name好友名称,x,y搜索框位置
def search_friend(x,y,name):
    pyautogui.click(x,y)
    time.sleep(1)
    #赋值好友名称
    pyperclip.copy(name)
    #粘贴复制内容
    pyautogui.hotkey('ctrl', 'v')
    time.sleep(1)
    pyautogui.hotkey('enter')
    #向下移动100个像素定位到搜索到第一个好友位置点击
#   pyautogui.moveTo(x, y+80)
#   pyautogui.click(x, y+80)

    
#向好友发送消息
def send_msg(msg):
    pyperclip.copy(msg)
    pyautogui.hotkey('ctrl', 'v')
    pyautogui.hotkey('enter')

    
#主要程序
time.sleep(5)
x,y = findImg()
search_friend(x,y,'传输')
for i in range(10): 
    send_msg('你是二刺螈吗')
    time.sleep(1)

  • 32
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 26
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老师我作业忘带了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值