本文为你介绍用使用python控制电脑鼠标。挂钩事件、注册热键、模拟鼠标移动和点击等等。
如何在Python中控制鼠标?在代码中控制计算机鼠标是一项方便的任务,因为它有助于桌面自动化、制作有用的桌面代理等。在本教程中,你将学习如何在 Python 中控制鼠标。
Python控制鼠标示例介绍:我们将使用方便的mouse库,让我们安装它:
$ pip3 install mouse
该模块帮助我们完全控制鼠标,例如挂钩全局事件、注册热键、模拟鼠标移动和点击等等!
Python如何控制鼠标?首先,让我们看看如何模拟鼠标点击:
import mouse
# left click
mouse.click('left')
# right click
mouse.click('right')
# middle click
mouse.click('middle')
注意:建议在 Python 交互式 shell(例如 Jupyter notebook 或IPython )中单独运行这些语句。
如何在Python中控制鼠标?click()方法正如它的名字所暗示的那样,它发送一个带有给定按钮的点击,试试看!
其次,还可以获取鼠标的当前位置:
In [22]: mouse.get_position()
Out[22]: (646, 407)
你可以用鼠标拖动一些东西:
# drag from (0, 0) to (100, 100) relatively with a duration of 0.1s
mouse.drag(0, 0, 100, 100, absolute=False, duration=0.1)
Python控制鼠标示例解析 - 使用(0, 0)起始位置将absolute设置为False意味着它从当前位置拖动到更远的 100(在 x 和 y 中)。
在要拖到桌面上的文件上进行测试!
接下来,你还可以确定按钮是否被按下:
# whether the right button is clicked
In [25]: mouse.is_pressed("right")
Out[25]: False
你还可以移动鼠标:
# move 100 right & 100 down
mouse.move(100, 100, absolute=False, duration=0.2)
这将在 0.2 秒的持续时间内相对移动鼠标。
你还可以进行在事件发生时调用的回调,例如鼠标单击:
# make a listener when left button is clicked
mouse.on_click(lambda: print("Left Button clicked."))
# make a listener when right button is clicked
mouse.on_right_click(lambda: print("Right Button clicked."))
Python如何控制鼠标?上面的代码会在鼠标按钮被点击时进行简单的回调,这里我们只使用 lambda 函数进行演示,你可以随意使用任何函数来做任何你想做的事。
如果要删除监听器,可以调用unhook_all()删除所有监听器:
# remove the listeners when you want
mouse.unhook_all()
你还可以控制鼠标滚轮,让我们向下滚动:
# scroll down
mouse.wheel(-1)
向上滚动:
# scroll up
mouse.wheel(1)
Python控制鼠标示例 - 最后,你可以记录所有鼠标事件,然后重放它们:
# record until you click right
events = mouse.record()
如何在Python中控制鼠标?这将记录所有鼠标事件,直到按下右键。然后它返回一个记录的事件列表,让我们重放它们:
# replay these events
mouse.play(events[:-1])
我设置events[:-1]而不是所有事件的原因是我不想播放右键单击。
以下是你可以使用此模块实现的一些想法:
- 让强化学习代理玩电子游戏。
- 自动化无聊的桌面内容。
- 多得多!
你可以将其与在 Python 中控制键盘相结合,让我们看看你可以用这些来构建什么!