[Python进阶] 操纵鼠标:pyuserinput

6.2 操纵鼠标:pyuserinput

6.2.1 说明

在安装pyuserinput库时会自动安装PyMousePyKeyboard库。前者主要用来操作鼠标,包括鼠标的点击、移动等。后者主要用来操作键盘,包括键盘按键的按下、弹起等。

这两个库还可以同时对鼠标和键盘的事件进行监控。但是由于监控键鼠时会用到pyHook库,而这个库最多只支持到python3.7,故此,这里不再介绍通过pyuserinput库来对键鼠进行监控。
注意:

1、Python版本为3.8.5

2、pyuserinput版本为0.1.10

3、如果安装pyuserinput库失败,则需要先删除PyMouse和PyKeyboard
安装:

>>> pip install pyuserinput==0.1.10
导入:

>>> from pymouse import PyMouse

>>> from pykeyboard import PyKeyboard
实例化

m = PyMouse() # 鼠标实例

k = PyKeyboard() # 键盘实例

6.2.2 m.press(x, y, button=1)

按下鼠标的某个按键但不松开。
参数:

x: x轴方向像素位置

y: y轴方向像素位置

button: 鼠标的按键,1:左键,2:右键,3:中键

6.2.3 m.release(x, y, button=1)

松开鼠标的某个按键。
参数:

x: x轴方向像素位置

y: y轴方向像素位置

button: 鼠标的按键,1:左键,2:右键,3:中键

6.2.4 m.click(x, y,button=1, n=1)

鼠标点击指定像素点位置指定次数。
参数:

x: x轴方向像素位置

y: y轴方向像素位置

button: 鼠标的按键,1:左键,2:右键,3:中键

n: 点击的次数
示例:将鼠标移至616,18位置并按下鼠标左键2次

py 复制代码
from pymouse import PyMouse

m = PyMouse()
m.click(616,18,1,2)

6.2.5 m.scroll(vertical=None, horizontal=None, depth=None)

鼠标滚轮滚动。
参数:

vertical: 垂直方向,+向上,-向下

horizontal: 水平方向,+向右,-向左

depth: 该参数仅适用于MAC系统
示例:鼠标滚轮向下移动200像素

py 复制代码
from pymouse import PyMouse

m = PyMouse()
m.scroll(-200)

6.2.6 m.move(x, y)

鼠标移动到指定位置。
参数:

x: x轴方向像素位置

y: y轴方向像素位置

6.2.7 m.drag(x, y)

鼠标拖动(按住左键)到指定位置。
参数:

x: x轴方向像素位置

y: y轴方向像素位置

6.2.8 m.position()

获取当前鼠标光标的坐标。元组类型,第1个为x坐标,第2个为y坐标。

py 复制代码
from pymouse import PyMouse
from icecream import ic

m = PyMouse()
ic(m.position())

21:40:24|> m.position(): (582, 298)

6.2.9 m.screen_size()

获取当前屏幕的分辨率,返回结果为元组类型,包括2个元素,分别是:横坐标像素和纵坐标像素。

py 复制代码
from pymouse import PyMouse

m = PyMouse()
print(m.screen_size())

(1600, 900)

相关推荐
tjc199010052 分钟前
Golang怎么实现分布式定时任务_Golang如何保证集群中定时任务不重复执行【进阶】
jvm·数据库·python
卷心菜狗3 分钟前
Python进阶--网络编程入门
python
XLYcmy6 分钟前
2026游戏安全技术竞赛-PC客户端安全-初赛 求解起点到终点的最短路径
windows·python·网络安全·dfs·bfs·游戏安全·曼哈顿距离
尘埃落定wf10 分钟前
FastAPI 鉴权怎么写?中间件和依赖注入一次说清楚
python·中间件·fastapi
2301_7735536210 分钟前
构建 Go CLI 应用的最佳实践:纯 Go 交互式命令行库选型与使用指南
jvm·数据库·python
qq_3729069313 分钟前
c#如何添加按钮点击事件_c#添加按钮点击事件的几种常见用法
jvm·数据库·python
2301_8176722618 分钟前
JavaScript 中高效定位二维数组间不匹配元素的行列索引
jvm·数据库·python
2401_8314194420 分钟前
golang如何实现验证码图片生成_golang验证码图片生成实现实战
jvm·数据库·python
LiAo_1996_Y23 分钟前
CSS实现多列等高布局_浮动布局的高级处理技巧
jvm·数据库·python
Jenlybein24 分钟前
用 uv 替代 conda,速度飙升(从 0 到 1 开始使用 uv)
后端·python·算法