python自动化UI工具发送QQ消息的实例


Posted in Python onAugust 27, 2019

概述

个人遇到过小的需求,windows自动水群发送垃圾消息,使用一些特别简单易上手的小工具,快速实现功能需求(而不是使用一些重量级的还需要额外花时间去熟悉功能语法的大工具,如UI自动化工具sikulix)。在一番摸索下,得出一番结论:

对于多平台的UI自动复杂操作,还是去学sikulix吧,这不是啃一点win32 api获取窗口句柄就能轻松解决的,毕竟sikulix是MIT大佬折腾出来的。而且,原理也更复杂(通过使用opencv对窗体控件进行识别,进而实现控制操作)。

对于简单的操作(控制剪切板缓存、自动化keyboard操作、desktop光标移动、鼠标点击动作等)可以使用python的一些包进行简单的模拟实现:pyautogui / pywin32 等。

pyautogui是美国一个知名python程序员也是优秀的python作者Al Sweigart维护的一个模块,个人是比较推崇的,因为相对来说,整个模块都是python写的,可读性比较好,对一般功能的封装得很好。pywin32就有点不一样了,这个完全是用python对win32 api接口进行python api的转换,用起来比较复杂,对windows api及c sharp有一定了解,加上文档全但是基本就是原样包windows api的文档抄了一下,所以看起来是相当痛苦的。(但是实际上pywin32跟pyautogui的思路都是使用windows api获取窗体程序句柄进而实现自动化操控,从实现原理上看来,也注定这种方式是不可能完成过于复杂的UI自动化作业的。)

目标

使用pyautogui,实现自动化发送qq消息。

实现

安装三方python包,pyautogui

pip install pyautogui

引入包,进行自动化脚本编写 —— 相当简单易读,参考api文档

①打开对应的群聊天窗口,才能获取到句柄列表,设置发送使用ctrl+enter键(方便自动化控制)

python自动化UI工具发送QQ消息的实例

②编写代码

import pyautogui as gui
import time

print(gui.getWindows()) # getWindows获取所有活动窗体程序句柄对象的字典,key为窗体程序title,value为hwnd对象
gui.Window(gui.getWindows().get('Python数据分析交流群')).set_foreground() 
# Window使用hwnd对象创建window对象,对窗体程序进行控制
# 这一部分在提供的官方api文档里并没有提到,这是作者故意没有提及的窗体程序句柄处理,才对win api封装了几个功能
for i in range(10):
 gui.typewrite(time.asctime()+' : '+str(i)) # typewrite可以参考文档,实际是模拟键盘输入,所以当这里的内容换成中文时,是无效的
 gui.hotkey('ctrl','enter') # hotkey模拟组合键
 time.sleep(10)
 
 >>>> print内容
 {'': <ctypes.wintypes.LP_c_long object at 0x0000027E50544D48>, 'SelfProject [C:\\Users\\Stan Pao\\PycharmProjects\\SelfProject] -
 ...\\test2.py [SelfProject] - PyCharm': <ctypes.wintypes.LP_c_long object at 0x0000027E50544F48>, 'Python数据分析交流群': 
 <ctypes.wintypes.LP_c_long object at 0x0000027E505AB048>, '南京捷安特精英俱乐部': <ctypes.wintypes.LP_c_long object at 
 0x0000027E505AB0C8>, 'pyautogui - OneNote': <ctypes.wintypes.LP_c_long object at 0x0000027E505AB148>, '写文章-CSDN博客 -
 Google Chrome': <ctypes.wintypes.LP_c_long object at 0x0000027E505AB1C8>, 'Program Manager': <ctypes.wintypes.LP_c_long object at 
 0x0000027E505AB248>}

效果如下:还是很简单好用的~

python自动化UI工具发送QQ消息的实例

以上这篇python自动化UI工具发送QQ消息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于python编写的微博应用
Oct 17 Python
Python开发常用的一些开源Package分享
Feb 14 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
基于python的selenium两种文件上传操作实现详解
Sep 19 Python
python利用dlib获取人脸的68个landmark
Nov 27 Python
Python实现变声器功能(萝莉音御姐音)
Dec 05 Python
520使用Python实现“我爱你”表白
May 20 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
Jul 20 Python
Python下载网易云歌单歌曲的示例代码
Aug 12 Python
pytorch查看网络参数显存占用量等操作
May 12 Python
Pytorch 实现变量类型转换
May 17 Python
python中__slots__节约内存的具体做法
Jul 04 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
Aug 27 #Python
对Python获取屏幕截图的4种方法详解
Aug 27 #Python
python对常见数据类型的遍历解析
Aug 27 #Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
Aug 27 #Python
python实现一个函数版的名片管理系统过程解析
Aug 27 #Python
python中下标和切片的使用方法解析
Aug 27 #Python
python使用if语句实现一个猜拳游戏详解
Aug 27 #Python
You might like
Windows下的PHP5.0安装配制详解
2006/09/05 PHP
php中定义网站根目录的常用方法
2010/08/08 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
2011/04/18 PHP
PHP递归删除目录几个代码实例
2014/04/21 PHP
php 类自动载入的方法
2015/06/03 PHP
javascript数组使用调用方法汇总
2007/12/08 Javascript
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
详解JavaScript中的客户端消息框架设计原理
2015/06/24 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
详解如何用VUE写一个多用模态框组件模版
2018/09/27 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
[54:26]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第一场 12.10
2020/12/12 DOTA
Python入门_浅谈for循环、while循环
2017/05/16 Python
Python中enumerate函数代码解析
2017/10/31 Python
python机器学习之神经网络实现
2018/10/13 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
Django学习之文件上传与下载
2019/10/06 Python
python 消费 kafka 数据教程
2019/12/21 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
英文版餐饮运营管理求职信
2013/11/06 职场文书
中英文求职信范文
2014/01/27 职场文书
军训自我鉴定怎么写
2014/02/13 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
同学聚会策划方案
2014/06/06 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书