写在前面
梦想橡皮擦,一个励志成为IT圈熟透了的人
故事的背景是这样的… 恩,这样,这样,然后这样,最后,我感觉自己被欺负了,然后要轰炸他的QQ,恩就是这样
本篇博客写出来就是担心被封禁了,毕竟结果不太友好,当然对于被欺负的程序员来说,干了再说
以下内容核心用到的库是pynput
这个库核心可以监测控制我们的键盘和鼠标,看起来用在爬虫上面也是非常不错的
官方网址:https://pypi.org/project/pynput/
查询其详细API文档,可以参考 https://pynput.readthedocs.io/en/latest/index.html
评价一个库的好坏,还是那句话,直接看文档写的好不好,全不全就好了。
编码时间
该库的安装非常简单,网速慢,老办法,切换源,略微一等,安装成功
pip install pynput -i https://pypi.tuna.tsinghua.edu.cn/simple
测试代码
安装完毕,测试一下该库是否可以正常运行,运行结果是获取当前鼠标的坐标
from pynput.mouse import Button, Controller
mouse = Controller()
# 获取鼠标坐标
print('当前鼠标的坐标是 {0}'.format(
mouse.position))
结果展示如下即为完全正常
当前鼠标的坐标是 (793, 387)
接下来,就要开始了,我们的目的就是操作QQ对话框,然后发消息,发消息,不停的发消息,在这里鼓励大家亲自试试,其乐无穷的。
最简单的代码如下,逻辑非常简单,先等待5秒,等你打开QQ窗口,然后在一个死循环里面不断的输入内容,控制鼠标到你的发送按钮上,当然这个地方可以直接把鼠标放在按钮上,然后点击左键,释放左键,重复,数据就发送出去了
from pynput import keyboard
from pynput.mouse import Button, Controller
import time
time.sleep(5) # 方便打开QQ窗口
my_mouse = Controller()
my_keyboard = keyboard.Controller()
while(1):
my_keyboard.type("全世界我最美儿")
my_mouse.position = (1350, 902)
my_mouse.press(Button.left)
my_mouse.release(Button.left)
time.sleep(5)
如图,下面的地方可以直接将鼠标放在发送按钮上,然后就不断的发送数据出去了
很简单的一段代码,实现了我们的最终目的
如果你去配合一下 win32gui
食用效果更佳,非常的人性化。
pynput扩展点
发送的内容可以自定义并且加上随机,效果更好,发送的时间可以自由控制,可快可慢。工具已经提供给你,用在何时何地就要考你自己了。
像不像Python版本的按键精灵,没错,精灵能做的它都能做,而且看起来更像程序员解决问题的方式呢?
上面代码中,鼠标移动的坐标不同的电脑位置不同,需要自己量一下哦,什么不会量,截图工具不会用吗???
很多时候,我们无法解决技术问题,不是因为我们技术不行,而是因为我们不知道怎么才行
本篇文章希望你从今天可以听说竟然有一款pynput库。
如果你想跟博主建立亲密关系,可以关注博主,或者关注博主公众号“非本科程序员”,了解一个非本科程序员是如何成长的。
博主ID:梦想橡皮擦,希望大家点赞、评论、收藏