使用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.

更新于:2021年2月11日

4K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告