[Python进阶] 操纵鼠标:Pynput

6.6 操纵鼠标:Pynput

Pynput库是一个Python第三方库,用于控制和监视用户输入设备(如键盘和鼠标)。使用Pynput库可以实现以下功能:
控制键盘和鼠标:Pynput库允许模拟用户的键盘按键和鼠标点击动作。你可以编写代码来模拟按下特定的键、释放键、连续按下某个键、移动鼠标、点击或释放鼠标等。
监测键盘和鼠标事件:Pynput库提供了用于监测键盘和鼠标事件的功能。你可以编写代码来监听用户按下或释放的键、滚轮滚动、鼠标移动等等。
安装

>>> pip install pynput

6.6.1 position

返回或者设置鼠标位置。

py 复制代码
from icecream import ic
from pynput.mouse import Controller

mouse = Controller()
ic(mouse.position)  # 输出当前鼠标位置
mouse.position = 10, 20  # 设置鼠标位置
ic(mouse.position)

21:54:55|> mouse.position: (696, 585)

21:54:55|> mouse.position: (10, 20)

6.6.2 scroll(dx, dy)

鼠标滚轮滚动。注意,必须同时输入2个参数
参数:

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

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

py 复制代码
from pynput.mouse import Controller

mouse = Controller()
mouse.scroll(50, 50)

6.6.3 press、release

按下或释放鼠标按键。
参数:

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

py 复制代码
import time
from pynput.mouse import Controller, Button

mouse = Controller()
mouse.position = (200, 200)
mouse.press(Button.left)
time.sleep(1)
mouse.release(Button.left)

6.6.4 move(dx, dy)

将鼠标移动到当前位置偏移dx,dy的位置上。

py 复制代码
from pynput.mouse import Controller
from icecream import ic

mouse = Controller()
ic(mouse.position)
mouse.position = (200, 200)
ic(mouse.position)
mouse.move(100, 300)
ic(mouse.position)

22:10:39|> mouse.position: (434, 302)

22:10:39|> mouse.position: (200, 200)

22:10:39|> mouse.position: (300, 500)

6.6.5 click(button, count=1)

按下鼠标相应的按键指定次数。
参数:

button:鼠标的按键

count:次数

py 复制代码
from pynput.mouse import Controller, Button

mouse = Controller()
mouse.position = 500, 30
mouse.click(Button.left, 2)
相关推荐
abc123456sdggfd7 小时前
解决Socket图像传输中断问题:基于分块接收与可靠发送的完整教程
jvm·数据库·python
2401_833033627 小时前
SQL中RIGHT JOIN真的很少用吗_数据完整性检查与反向关联分析
jvm·数据库·python
时空系7 小时前
第7篇功能——打造你的工具箱 python中文编程
开发语言·python·ai编程
shughui7 小时前
2026最新JDK版本选择及下载安装详细图文教程【windows、mac附安装包】
java·linux·开发语言·windows·jdk·mac
Wenzar_7 小时前
# D3.js实战进阶:从基础图表到交互式数据仪表盘的全流程构建在现代前端开发中,**数据可视化已成为提升用户体验的核心能力之一
java·javascript·python·信息可视化·ux
要不枉此行7 小时前
【Python 实战】一键爬取 HTML 文档并合并为完整 PDF
python·pdf·html
AI玫瑰助手7 小时前
Python基础:集合的定义、去重与交并差运算
开发语言·python·信息可视化
无敌秋7 小时前
# C++ 工厂方法模式实战指南
开发语言·c++·设计模式
忡黑梨7 小时前
eNSP_DHCP配置
c语言·网络·c++·python·算法·网络安全·智能路由器
m0_741481787 小时前
Vue.js核心基础之响应式系统与虚拟DOM渲染关联机制
jvm·数据库·python