用python实现自动回复QQ消息——不到60行

最近在看测试相关的内容,发现自动化测试很好玩,就决定做一个自动回复QQ消息的脚本(我很菜)这个自动化脚本需要用到3个模块,如果要使用这个脚本的朋友,自己的中可能没有安装这些模块,所以就可以安装一下如果此时有人发来消息,则会有提示符不过在我是将我需要发送的数据存放在了一个文本里,每次都随机选择一个发送弹出对话框后可能会存在消息漫游安全验证,所以需要判断,如果存在,则需要关掉验证,再发送消息

以下为知识DOC为大家进行整理的相关内容,希望对大家有所帮助!

文章目录

最近在看测试相关的内容,发现自动化测试很好玩,就决定做一个自动回复QQ消息的脚本(我很菜)

1、需要安装的模块

这个自动化脚本需要用到3个模块,如果要使用这个脚本的朋友,自己的中可能没有安装这些模块,所以就可以安装一下

第1个模块:

这个模块主要是用来让程序自动控制鼠标和键盘的一系列操作来达到自动化测试的目的。

在cmd下输入安装命令:pip

第2个模块:

这个模块主要用于复制剪贴板里的内容,向剪贴板写入内容

在cmd下输入安装命令:pip

第3个模块:

是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息

在cmd下输入安装命令:pip

2、整体逻辑

如何判断QQ是否处启动?

我们知道QQ如果需要运行,首先操作系统给它分配资源,资源中就包括一个叫进程pid的内容,pid是进程的唯一标识,pid和进程是1:1的关系。通过pid就可以知道进程的名字,判断这个名字是否与”QQ.exe”相等就可以知道QQ是否启动

#获取全部进程的pidpl = psutil.pids()	for pid in pl:    # 判断QQ.exe是否运行    if psutil.Process(pid).name() == "QQ.exe":

如果QQ没有启动,需要启动QQ,并登录

我们平时启动QQ的时候,首先需要找到QQ的快捷方式,然后双击,等到QQ的登录界面出现后,再点击登录或者按回车键(“enter”)。

自动化也是一样的。

os模块中有一个方法os.(dir),参数就是”QQ.exe”在磁盘中的存放位置,登录界面出现后,我们这里采用按回车(“enter”)的方式进行登录

os.startfile(QQ_dir)time.sleep(3)gui.write(["enter"])time.sleep(5)

QQ成功登录后(我的默认是免打扰),在桌面的右下角会出现QQ的小图标

如果此时有人发来消息,则会有提示符

因此最开始,就需要对这个QQ消息提示符进行截图,通过判断桌面这个图标是否存在自动回复内容,来判断是否有消息,如果有消息自动回复内容自动回复内容,我们只需要点击这个QQ这个图标,就能弹出对话框

if gui.locateOnScreen("./image/receive_message1.png", confidence=0.8) is not None:	gui.click(gui.center(gui.locateOnScreen("./image/receive_message1.png", confidence=0.8)))

弹出对话框后,默认是处于输入状态的。需要用到.copy(“需要发送的内容”)剪切内容到粘贴板上,再使用.(“ctrl”, “v”)进行粘贴,此时内容就已经在输入框中,按下”enter”和”esc”(.write([“enter”, “esc”]))进行发送,然后关闭对话框

lip.copy("自动回复")gui.hotkey("ctrl", "v")gui.write(["enter", "esc"])

不过在我是将我需要发送的数据存放在了一个文本里,每次都随机选择一个发送

3、代码实现

import osimport randomimport psutilimport pyautogui as guiimport pyperclip as lipimport time#所有的文件路径都需要自己去修改QQ_dir = r'D:BinQQScLauncher.exe'def Proc_exist():    pl = psutil.pids()    for pid in pl:        # 判断QQ.exe是否运行        if psutil.Process(pid).name() == "QQ.exe":            return True    return Falsedef QQ_login():    # 启动指定路径下的QQ    os.startfile(QQ_dir)    time.sleep(3)    gui.write(["enter"])    time.sleep(5)def Readfile():    with open("./image/text.txt", 'r', encoding="UTF-8") as f:        filetxt = f.readlines()    return filetxtdef Sendmessage(filetxt):    filetxtlen = len(filetxt)    #随机数取0到len-1    ran = random.randint(0, filetxtlen-1)    #剪切内容    lip.copy(filetxt[ran])    #粘贴    gui.hotkey("ctrl", "v")    gui.write(["enter", "esc"])def Polling():    if Proc_exist() == False:        QQ_login()    while True:        # confidence=0.8是匹配精确度,需要安装opencv   pip install opencv-python        #判断是否来消息        if gui.locateOnScreen("./image/receive_message1.png", confidence=0.8) is not None:        	# 点击图片在屏幕中出现的中间位置,就能弹出对话框        	gui.click(gui.center(gui.locateOnScreen("./image/receive_message1.png", confidence=0.8)))            time.sleep(2)            # 判断是否有消息漫游验证,如果有,把它关掉            if gui.locateOnScreen("./image/img.png", confidence=0.8) is not None:                location = gui.center(gui.locateOnScreen("./image/img.png"))                gui.click(location.x+200, location.y)            time.sleep(2)            Sendmessage(filetxt)# 将text.txt的数据读到列表中filetxt = Readfile()Polling()

if gui.(“./image/img.png”, =0.8) is not None的意思:

弹出对话框后可能会存在消息漫游安全验证,所以需要判断,如果存在,则需要关掉验证,再发送消息

在这里插入图片描述

.png:

img.png:

使用的时候记得把图片路径换成自己的,记得QQ开免打扰,开了免打扰好像才有消息提示的黄色框

本文地址: https://www.zhishidoc.com/12857.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 859089669@qq.com 举报,一经查实,本站将立刻删除。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年10月12日 下午9:54
下一篇 2022年10月12日 下午10:10

相关推荐

  • 女人高雅温柔微信签名,微信个性签名适合40岁女人?

    其实有内涵的女人微信签名,下面就一起来看看微信个性签名适合40岁女人?女人高雅温柔微信签名温柔女人微信个性签名。气质高雅女人微信个性签名。特吸引女人诗意微信签名高品味女人微信个性签名。女人高雅温柔微信签名:五十女性微信个性签名’女人高雅温柔微信签名:有内涵的女人微信签名

    2022年10月27日
    10000
  • 描写植物的现代诗大全【精选101句】

    15、描写植物的现代诗歌18、【描写植物的现代诗大全】《崩溃大陆》()RMB25左右23、《树》是现代诗人艾青于1940年春天创作的一首现代诗歌。26、冰心写的关于植物的现代诗有《嫩绿的芽儿》。38、【描写植物的现代诗大全】根,紧握在地下,叶,相触在云里。51、(彼岸的花)是冰心描写植物的现代诗。55、描写植物的现代诗歌有以下:57、作品赏析:一切事物都可以是诗人笔下文字的载体。

    投稿 2022年11月1日
    11900
  • 霸气说说签名

    霸气说说签名40句这篇文章是小编收集整理的霸气说说签名,一起来欣赏吧。【霸气说说签名】相关文章:霸气说说签名30句08-19霸气说说签名(通用60句)08-13霸气说说签名大全80句精选08-15最新霸气说说签名30句08-17关于霸气说说签名40句08-18最新霸气说说签名(精选30句)08-11霸气唯美说说签名大全60句08-13关于霸气说说签名汇总50句精选08-15

    2022年11月8日
    8400
  • public 倪海厦罗盘罗经使用注意事项-来自人纪-罗盘是台湾的翰辉罗经

    一般你们到市面上去买罗经的时候有两种罗盘,一种是三合,一种是三元,那两种形式都无所谓都是东西,东南西北吗,他只是派系不一样而已无所谓,那我们在平时在使用的时候呢,你看罗经周围有一圈有8个卦,看到没有,那8个卦就是后天的卦,你就可以按照8个卦来看就行了,那你看到更细的时候,就会有第3圈第3圈你看到没有,比如24座山,这个东西怎么来的呢?具体参考人纪-罗盘是台湾的翰辉罗经

    2022年10月15日
    67300
  • 生日祝福语简短精辟(精选120句) – 在我们生日的时候,都希望都会收到一些人的

    以下是由夏尔故事网小编为大家整理的“生日祝福语简短精辟(精选120句)”,仅供参考,欢迎大家阅读。生日祝福语简短精辟(1-24句)生日祝福语简短精辟(25-48句)在这不平常的日子里,我没有千言万语,只能默默送上我真挚的祝福:祝姐姐生日快乐,愿未来的日子锦上添花!生日祝福语简短精辟(49-72句)生日祝福语简短精辟(73-96句)生日祝福语简短精辟(97-120句)

    2022年10月27日
    9800

发表回复

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