如何使用 Python 中的 pynput 库控制鼠标和键盘
介绍
该pynput库允许你控制和监测/听你的输入设备,如他们的键盘和鼠标。
该pynput.mouse允许您控制和监视鼠标,而pynput.keyboard允许您控制和监视键盘。
在本文中,我们会将光标移动到特定位置、自动点击并模拟键盘上的击键。
事不宜迟,让我们开始吧。
入门
由于pynput模块未随Python打包,因此您必须使用pip包管理器手动下载并安装它。
为此,请启动您的终端并使用以下命令。
pip install pynput
成功下载并安装该库后,您就可以将其各种模块导入到您的Python脚本中。
由于我们将为键盘和鼠标导入各种模块,我们稍后将讨论导入语句。
控制鼠标
为了使用Python控制和模拟鼠标,您必须从pynput库中导入鼠标模块。由于我们还将模拟点击和移动,因此我们将它们与模块一起导入。
frompynput.mouseimport Button, Controller
首先,我们将使用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)
你甚至可以使用pynput模拟滚动,
mouse.scroll(0,2)
这将向下滚动两步,x坐标用于从左到右导航滚动,y坐标用于从上到下。
示例
frompynput.mouseimport 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函数。
Frompynput.keyboardimport 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上控制或模拟键盘设备的方式。
示例
frompynput.keyboardimport 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/SVjayB/Spam-botz
如果您想阅读有关pynput的更多信息并探索其各种其他功能,您可以在以下位置查看其官方文档-
https://pynput.readthedocs.io/en/latest/index.html。