【除夕整烂活】用pyautogui群发新年祝福

本文介绍了一种使用Python自动化脚本在微信和QQ上群发定制祝福语的过程,包括搜索好友、复制粘贴和发送的详细步骤,以及所需操作函数的编写和文件管理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

温馨提示:祝福千万条,真诚第一条,群发不规范,好友小黑屋(群发虽好,可不要贪用哦

另一条提示:这个活之所以称为烂活,不仅因为很没意义,而且麻烦程度比较高,一天整出来的,还有优化空间(优化个捶捶

0、总结在前面

其实总的过程是,你先根据你平时发消息要干啥,然后把每一个步骤找到对应的操作函数(比如搜索好友,你得先移动光标moveTo,再点击mouseDown...),由此即可

一、实现要求

对微信、qq上的指定个人或者指定群聊都要发送相关祝福语(目前只实现了开头语不同,主体是一样的)

二、欲操作流程

先通过搜索栏搜索到指定好友(由于库的语言限制,不能用中文,故用好友备注的拼音缩写进行查找,如张三,zs)

再对现成的文本进行复制

返回到对话框中粘贴,发送

如此循环

三、实现

1、搜索好友

鼠标得移动到搜索栏吧

得点击一下才能输入吧

输入后得回车才能弹出对话界面吧

moveTo(info[search_x],info[search_y])
mouseDown()
mouseUp()
typewrite(message = list[i])
sleep(0.5)  #sleep这一下是因为搜索栏出结果速度比较慢,需要等2333
press("enter")

2、复制文本

鼠标还是得移动到文本区域吧(我是用一个打开的txt文件搞的)

点击一下才能选中文本吧

直接ctrl+a全选,接着dddd

moveTo(info[4],info[5])
mouseDown()
mouseUp()
hotkey('ctrl','a')
hotkey('ctrl','c')

3、粘贴文本并发送

鼠标移动到对话框啦

然后点击,热键dddd

enter发送

moveTo(info[info_x],info[info_y])
mouseDown()
mouseUp()
hotkey('ctrl','v')
press("enter")

4、对于搜索的好友的名单和存储的消息的内容,我用的是txt文件和文件读取操作

这里把文件读取提一嘴吧,放个可以参考的模板

for line in f.readlines():
    line = line.strip()
    info.append(int(line))

四、总代码

PART.ONE 光标位置确认程序

from pyautogui import *
from time import *
f = open('./info.txt','w')
strr = ''
list = ['消息栏','搜索栏','待复制的文本框','qq消息栏','qq搜索栏']
​
​
def sleep_remind(i):
    print('请将鼠标移动到%s位置,5秒后系统进行记录' %(list[i-1]))
    for i in range(5):
        print(5-i)
        '''表示要休眠多少秒'''
        sleep(1)
​
'''第一行,获取消息栏位置'''
sleep_remind(1)
x,y = position()
strr +=(str(x)+'\n'+str(y)+'\n')
​
'''第二行,获取搜索栏位置'''
sleep_remind(2)
x,y = position()
strr +=(str(x)+'\n'+str(y)+'\n')
​
'''第三行,获取复制的文本框的位置'''
sleep_remind(3)
x,y = position()
strr +=(str(x)+'\n'+str(y)+'\n')
​
'''第四行,获取qq消息栏的位置,记得把鼠标放在中间偏右,因为打开多个消息栏的位置会变'''
sleep_remind(4)
x,y = position()
strr +=(str(x)+'\n'+str(y)+'\n')
​
'''第五行,获取qq搜索栏的位置'''
sleep_remind(5)
x,y = position()
strr +=(str(x)+'\n'+str(y)+'\n')
​
f.write(strr)

PART.TWO 群发机

from pyautogui import *
import pyperclip
f = open('./info.txt','r')
ff = open('./list.txt','r')  #list是所有要群发的对象的搜索关键单词的信息储存文件
info = []
list = []
wxhy = 7   #表示已选择的微信好友,下面类同,用的拼音缩写
wxql = 6
qqhy = 35
qqql = 2
​
str1 = '想必你现在正准备/已经开始抢红包了,那我正好来祝福一波:'
str2 = '新年祝正在康春晚/各种快乐的大家:'
​
for line in f.readlines():
    line = line.strip()
    info.append(int(line))
for line in ff.readlines():
    line = line.strip()
    list.append(line)
​
def wish(st, ed, search_x, search_y, info_x, info_y, infoo):
    for i in range(st, ed):
        '''0,1 消息  2,3搜索 4,5文本栏 6,7 qq消息栏 8,9 qq搜索栏'''
        '''先搜索'''
        moveTo(info[search_x],info[search_y])
        mouseDown()
        mouseUp()
​
        typewrite(message = list[i])
        sleep(0.5)
        press("enter")
​
        pyperclip.copy(infoo)
        hotkey('ctrl','v')
        press("enter")
​
        '''接着去文本框复制'''
        moveTo(info[4],info[5])
        mouseDown()
        mouseUp()
        hotkey('ctrl','a')
        hotkey('ctrl','c')
        
        '''到达对话框发送'''
        moveTo(info[info_x],info[info_y])
        mouseDown()
        mouseUp()
        hotkey('ctrl','v')
        press("enter")
​
wish(0,wxhy,2,3,0,1,str1)
wish(wxhy,wxql+wxhy,2,3,0,1,str2)
wish(wxql+wxhy,qqhy+wxhy+wxql,8,9,6,7,str1)
wish(qqhy+wxhy+wxql,qqhy+wxhy+wxql+qqql,8,9,6,7,str2)

更多的写不动了,看春晚看困了,zzz

 






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

robinbird_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值