使用Python的pynput库控制鼠标和键盘
介绍
pynput 库允许您控制和监控/监听您的输入设备,例如键盘和鼠标。
pynput.mouse 允许您控制和监控鼠标,而 pynput.keyboard 允许您控制和监控键盘。
在本文中,我们将鼠标光标移动到特定位置,自动化点击,并模拟键盘按键。
事不宜迟,让我们开始吧。
入门
由于pynput 模块没有与Python一起打包,您必须使用pip包管理器手动下载并安装它。
为此,启动您的终端并使用以下命令。
pip install pynput
库成功下载并安装后,您就可以将其各个模块导入到您的Python脚本中了。
由于我们将导入键盘和鼠标的各种模块,我们稍后将讨论导入语句。
控制鼠标
为了使用Python控制和模拟鼠标,您必须从pynput库导入鼠标模块。由于我们将模拟点击和移动,我们将与模块一起导入它们。
from pynput.mouse import Button, Controller
首先,我们将使用Controller()方法来移动屏幕上的鼠标。
mouse = Controller()
现在,如果您想将鼠标移动到屏幕上的任何位置,只需提供其坐标。
mouse.position = (50,60)
如果您想查看鼠标移动到的位置,可以打印出来。
print('Current mouse position −> {0}'.format(mouse.position))
如果您想相对于鼠标当前位置移动鼠标,请使用move函数。
mouse.move(30,15)
如果您想模拟按钮按下,
mouse.press(Button.left) mouse.release(Button.left) mouse.press(Button.right) mouse.release(Button.right)
对于双击,请使用
mouse.click(Button.left, 2)
您甚至可以使用pynput模拟滚动,
mouse.scroll(0,2)
这将向下滚动两步,x坐标用于从左到右导航滚动,y坐标用于从上到下。
示例
from pynput.mouse import Button, Controller mouse = Controller() mouse.position = (50,60) print('Current mouse position −> {0}'.format(mouse.position)) mouse.move(30,15) mouse.press(Button.left) mouse.release(Button.left) mouse.press(Button.right) mouse.release(Button.right) mouse.click(Button.left, 2) mouse.scroll(0,2)
使用上述方法,您可以使用基本的坐标几何在画图软件上模拟绘制形状。
控制键盘
首先,我们导入所需的模块和函数。在pynput库中的键盘模块中,我们将使用Key和Controller函数。
From pynput.keyboard import Key, Controller
我们将使用Controller方法来控制键盘并模拟按键。
keyboard = Controller()
现在,要模拟按键,我们有press和release方法
keyboard.press('a') keyboard.release('a')
这适用于所有字母,包括大写字母。对于大写字母,只需使用“A”代替“a”。
您还可以模拟其他按键,例如ctrl、alt、空格键等。
keyboard.press(Key.space) keyboard.release(Key.space) keyboard.press(Key.ctrl) keyboard.release(Key.ctrl)
如果您想一次模拟输入句子或单词,可以使用type函数。
keyboard.type('Hello World!!')
基本上这就是您如何在Python上控制或模拟键盘设备的方法。
示例
from pynput.keyboard import Key, Controller keyboard = Controller() keyboard.press('a') keyboard.release('a') keyboard.press(Key.space) keyboard.release(Key.space) keyboard.press(Key.ctrl) keyboard.release(Key.ctrl) keyboard.type('Hello World!!')
结论
您现在知道如何使用Python的pynput库来模拟键盘和鼠标输入设备。
使用它,您可以构建执行点击器游戏中点击操作的自动化机器人,构建一个垃圾邮件机器人,一次发送各种不同形式的消息。 您可以使用此方法构建任何类型的自动化工具,其应用非常广泛。
SpamBot小型项目 − https://github.com/SVijayB/Spam-botz
如果您想了解更多关于pynput的信息并探索其各种其他功能,您可以查看其官方文档:
https://pynput.readthedocs.io/en/latest/index.html.