当前位置: 首页 > news >正文

[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次

from pymouse import PyMousem = PyMouse()
m.click(616,18,1,2)

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

鼠标滚轮滚动。
参数:
vertical: 垂直方向,+向上,-向下
horizontal: 水平方向,+向右,-向左
depth: 该参数仅适用于MAC系统
示例:鼠标滚轮向下移动200像素

from pymouse import PyMousem = 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坐标。

from pymouse import PyMouse
from icecream import icm = PyMouse()
ic(m.position())

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

6.2.9 m.screen_size()

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

from pymouse import PyMousem = PyMouse()
print(m.screen_size())

(1600, 900)

http://www.lryc.cn/news/194358.html

相关文章:

  • 【LeetCode】每日一题两数之和寻找正序数组的中位数找出字符串中第一个匹配项的下标在排序数组中查找元素的第一个和最后一个位置
  • 与HTTP相关的各种协议
  • 常见的网络攻击手段
  • 学习笔记---超基础+详细+新手的顺序表~~
  • Java高级-CompletableFuture并发编程利器
  • python、java、c++哪一个前景比较好?
  • 【排序算法】详解直接插入排序和希尔排序原理及其性能分析
  • JDK1.8对HashMap的优化、以及通过源码解析1,8扩容机制
  • Linux串口断帧处理
  • springboot集成kafka
  • 近期总结2023.10.16
  • 【EI会议征稿】第二届可再生能源与电气科技国际学术会议(ICREET 2023)
  • 让ChatGPT等模型学会自主思考!开创性技术“自主认知”框架
  • Jmeter脚本参数化和正则匹配
  • vue 请求代理 proxy
  • 使用Spring Boot构建稳定可靠的分布式爬虫系统
  • 分享一个查询OpenAI Chatgpt key余额查询的工具网站
  • 【LeetCode刷题(数据结构与算法)】:二叉树的后序遍历
  • 内网、外网、宽带、带宽、流量、网速之间的区别与联系
  • 打造类ChatGPT服务,本地部署大语言模型(LLM),如何远程访问?
  • linux平台的无盘启动开发
  • 【GO入门】环境配置及Vscode配置
  • 家政服务小程序,家政维修系统,专业家政软件开发商;家政服务小程序,家政行业软件开发
  • 英语——语法——从句——状语从句——笔记
  • Linux 学习的六个过程
  • 『heqingchun-ubuntu系统下安装nvidia显卡驱动3种方法』
  • [paddle]paddleseg中eiseg加载模型参数的模型下载地址
  • 标定板生成网址,可以直接打印,matlab标定工具箱
  • React高级特性之受控和非受控组件
  • Android 14 正式发布,已经在 AOSP 中上线