我是程序员,能受气?几行代码让你服

1,534 阅读3分钟

小知识,大挑战!本文正在参与「程序员必备小知识」创作活动

本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。

写在前面

故事的背景是这样的.... 恩,这样,这样,然后这样,最后,我感觉自己被欺负了,然后要轰炸他的QQ,恩就是这样

本篇博客写出来就是担心被封禁了,毕竟结果不太友好,当然对于被欺负的程序员来说,干了再说

以下内容核心用到的库是pynput 这个库核心可以监测控制我们的键盘和鼠标,看起来用在爬虫上面也是非常不错的

官方网址:pypi.org/project/pyn…

查询其详细API文档,可以参考 pynput.readthedocs.io/en/latest/i…

评价一个库的好坏,还是那句话,直接看文档写的好不好,全不全就好了。

编码时间

该库的安装非常简单,网速慢,老办法,切换源,略微一等,安装成功

pip install pynput -i pypi.tuna.tsinghua.edu.cn/simple python教程 pynput

测试代码 安装完毕,测试一下该库是否可以正常运行,运行结果是获取当前鼠标的坐标

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)


如图,下面的地方可以直接将鼠标放在发送按钮上,然后就不断的发送数据出去了

python教程 pynput

很简单的一段代码,实现了我们的最终目的

如果你去配合一下 win32gui 食用效果更佳,非常的人性化。

pynput扩展点

发送的内容可以自定义并且加上随机,效果更好,发送的时间可以自由控制,可快可慢。工具已经提供给你,用在何时何地就要考你自己了。

像不像Python版本的按键精灵,没错,精灵能做的它都能做,而且看起来更像程序员解决问题的方式呢?

上面代码中,鼠标移动的坐标不同的电脑位置不同,需要自己量一下哦,什么不会量,截图工具不会用吗???


很多时候,我们无法解决技术问题,不是因为我们技术不行,而是因为我们不知道怎么才行

本篇文章希望你从今天可以听说竟然有一款pynput库。

博主 ID:梦想橡皮擦,希望大家点赞、评论、收藏。