当前位置: 首页 > 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)

相关文章:

[Python进阶] 操纵鼠标:pyuserinput

6.2 操纵鼠标:pyuserinput 6.2.1 说明 在安装pyuserinput库时会自动安装PyMouse和PyKeyboard库。前者主要用来操作鼠标,包括鼠标的点击、移动等。后者主要用来操作键盘,包括键盘按键的按下、弹起等。 这两个库还可以同时对鼠标和键盘的事件…...

【LeetCode】每日一题两数之和寻找正序数组的中位数找出字符串中第一个匹配项的下标在排序数组中查找元素的第一个和最后一个位置

主页点击直达:个人主页 我的小仓库:代码仓库 C语言偷着笑:C语言专栏 数据结构挨打小记:初阶数据结构专栏 Linux被操作记:Linux专栏 LeetCode刷题掉发记:LeetCode刷题 算法:算法专栏 C头…...

与HTTP相关的各种协议

TCP/IP TCP/IP协议是目前网络世界“事实上”的标准通信协议,实际上是一系列网络通信协议的统称,其中最核心的两个协议是 TCP和IP,其他的还有 UDP、ICMP、ARP 等等,共同构成了一个复杂但有层次的协议栈。 这个协议栈有四层&#x…...

常见的网络攻击手段

网络攻击对个人、组织和整个社会都带来了严重的威胁,因此必须采取有效的安全措施来保护网络系统和用户的信息安全。网站是攻击者经常瞄准的目标,以下是一些常见的攻击方式: 1. DDoS攻击(分布式拒绝服务攻击)&#xff1…...

学习笔记---超基础+详细+新手的顺序表~~

目录 1.顺序表的前言 1.1 顺序表--->通讯录📇 1.2 数据结构的相关概念🏇 1.2.1 什么是数据结构 1.2.1 为什么需要数据结构 2. 顺序表概念及分类 2.1 顺序表的概念🐙 2.2 顺序表的分类🐫 2.2.1 顺序表和数组的区别 2.…...

Java高级-CompletableFuture并发编程利器

CompletableFuture核心Api 1.概述2.Async2.a) supplyAsync2.b) runAsync 3.Then3.a) thenApply()3.b) thenApplyAsync() 1.概述 Future可以在并发编程中异步获取结果 CompletableFuture实现了Future接口,肯定也会有Future的功能,也相当于是Future的一个…...

python、java、c++哪一个前景比较好?

Python是一种广泛使用的高级编程语言,适用于数据分析、人工智能、机器学习等领域。Java是一种通用的编程语言,适用于企业级应用开发、网站开发、软件开发、嵌入式领域等。C是一种系统编程语言,适用于嵌入式开发、游戏开发、音视频、服务端开发…...

【排序算法】详解直接插入排序和希尔排序原理及其性能分析

文章目录 插入排序算法原理细节分析代码实现复杂度分析:稳定性分析:与冒泡排序的对比 希尔排序算法原理细节分析代码实现复杂度分析稳定性分析 总结对比 插入排序 算法原理 插入排序又或者说直接插入排序,是一种和冒泡排序类似的并且比较简单的排序方法, 基本思想…...

JDK1.8对HashMap的优化、以及通过源码解析1,8扩容机制

JDK 1.8 对 HashMap 进行了一些优化,主要包括以下几个方面的改进: 红黑树:在 JDK 1.8 中,当哈希碰撞(多个键映射到同一个桶)达到一定程度时,HashMap 会将链表转化为红黑树,以提高查找…...

Linux串口断帧处理

报文格式 1 Byte 4 Byte N Byte 4 Byte 1 Byte 0x02 报文长度 报文 CRC16 0x03 1. 每条报文以 STX(0x02)起始符开始,以 ETX(0x03)终止符结束。 2. 报文正文长度采用 4 字节的 10 进制字符串标识,如报文正…...

springboot集成kafka

1、引入依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>2.8.6</version></dependency> 2、配置 server:port: 9099 spring:kafka:bootstrap-servers: 192.1…...

近期总结2023.10.16

规律 1.两数相减&#xff0c;相加的最大&#xff0c;最小值 2.由最初的状态递推 3.无强制顺序&#xff0c;排序,不能排序&#xff0c;则与顺序有关 4.对于一段等差数列&#xff0c;不用一段一段的算局部整体&#xff0c;可以从整体一步步加差值 5.需要从一段式子推到结果困难&…...

【EI会议征稿】第二届可再生能源与电气科技国际学术会议(ICREET 2023)

第二届可再生能源与电气科技国际学术会议(ICREET 2023) 2023 2nd International Conference on Renewable Energy and Electrical Technology 2020年中国可再生能源发电规模显著扩大&#xff0c;风力和太阳能发电均呈迅速增长趋势。中国大力推进能源低碳化&#xff0c;减少温…...

让ChatGPT等模型学会自主思考!开创性技术“自主认知”框架

ChatGPT、百度文心一言、Bard等大语言模型展现出了超强的创造能力&#xff0c;加速了生成式AI的应用进程。但AI模型只能基于训练数据执行各种任务&#xff0c;无法像人类一样利用生活知识、过往经验用于复杂的推理和决策。 例如&#xff0c;在玩游戏时&#xff0c;人类可以利用…...

Jmeter脚本参数化和正则匹配

我们在做接口测试过程中&#xff0c;往往会遇到以下几种情况 每次发送请求&#xff0c;都需要更改参数值为未使用的参数值&#xff0c;比如手机号注册、动态时间等 上一个接口的请求体参数用于下一个接口的请求体参数 上一个接口的响应体参数用于下一个接口的请求体参数&#…...

vue 请求代理 proxy

目录 为什么需要配置代理 什么是同源策略 如何配置代理 请求代理的原理 举例说明 为什么需要配置代理 因为浏览器的同源策略&#xff0c;当向和本地 devServer 服务器不同源的地址发送请求&#xff0c; 会违反浏览器的同源策略&#xff0c;导致发送失败&#xff0c;所以需…...

使用Spring Boot构建稳定可靠的分布式爬虫系统

摘要&#xff1a;本文将介绍如何使用Spring Boot框架构建稳定可靠的分布式爬虫系统。我们将从系统设计、任务调度、数据存储以及容灾与故障恢复等方面进行详细讲解&#xff0c;帮助读者理解并实践构建高效的分布式爬虫系统。 1. 引言 随着互联网的快速发展&#xff0c;爬虫系…...

分享一个查询OpenAI Chatgpt key余额查询的工具网站

OpenAI Key 余额查询工具 欢迎使用 OpenAI Key 余额查询工具网站&#xff01;这个工具可以帮助您轻松地验证您的 OpenAI API 密钥&#xff0c;并查看您的余额。 http://tools.lbbit.top/check_key/ 什么是 OpenAI Key 余额查询工具&#xff1f; OpenAI Key 余额查询工具是一…...

【LeetCode刷题(数据结构与算法)】:二叉树的后序遍历

给你一棵二叉树的根节点root 返回其节点值的后序遍历 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[3,2,1] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[] 示例 3&#xff1a; 输入&#xff1a;root [1] 输出&#xff1a;[1]…...

内网、外网、宽带、带宽、流量、网速之间的区别与联系

一.带宽与宽带的区别是什么&#xff1f; 带宽是量词&#xff0c;指的是网速的大小&#xff0c;比如1Mbps的意思是一兆比特每秒&#xff0c;这个数值就是指带宽。 宽带是名词&#xff0c;说明网络的传输速率速很高 。宽带的标准各不相同&#xff0c;最初认为128kbps以上带宽的就…...

打造类ChatGPT服务,本地部署大语言模型(LLM),如何远程访问?

ChatGPT的成功&#xff0c;让越来越多的人开始关注大语言模型&#xff08;LLM&#xff09;。如果拥有了属于自己的大语言模型&#xff0c;就可以对其进行一些专属优化。例如&#xff1a;打造属于自己的AI助理&#xff0c;或是满足企业自身的业务及信息安全需求。 所以&#xff…...

linux平台的无盘启动开发

by fanxiushu 2023-10-15 转载或引用请注明原始作者。 前一章节介绍的是linux平台下的虚拟磁盘驱动开发过程&#xff0c;主要讲述了 基于block的磁盘和基于SCSI接口的磁盘。 本文介绍的内容正是基于上文中的SCSI接口的虚拟磁盘实现的无盘启动。 同样的&#xff0c;linux系统下也…...

【GO入门】环境配置及Vscode配置

1 GO环境配置 欢迎来到Go的世界&#xff0c;让我们开始探索吧&#xff01; Go是一种新的语言&#xff0c;一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点&#xff1a; 它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。Go为软件构造提供了一种模型&…...

家政服务小程序,家政维修系统,专业家政软件开发商;家政服务小程序,家政行业软件开发

家政服务小程序&#xff0c;家政维修系统&#xff0c;专业家政软件开发商&#xff1b; 家政服务小程序&#xff0c;家政行业软件开发解决方案&#xff0c;家政软件经验丰富实践&#xff0c;系统高度集成&#xff0c;提供师傅端、用户端、… 家政服务app开发架构有 1、后台管理端…...

英语——语法——从句——状语从句——笔记

一、概念 状语从句&#xff08;Adverbial Clause&#xff09;是指句子用作状语时&#xff0c;起副词作用的句子。状语从句中的从句可以修饰谓语。 状语从句根据其作用可分为时间、地点、原因、条件、目的、结果、让步、方式和比较等九 种状语从句。状语从句一般由连词(从属连词…...

Linux 学习的六个过程

Linux 上手难&#xff0c;学习曲线陡峭&#xff0c;所以它的学习过程更像一个爬坡模式。这些坡看起来都很陡&#xff0c;但是一旦爬上一阶&#xff0c;就会一马平川。 1、抛弃旧的思维习惯&#xff0c;熟练使用 Linux 命令行 在 Linux 中&#xff0c;无论我们做什么事情&…...

『heqingchun-ubuntu系统下安装nvidia显卡驱动3种方法』

ubuntu系统下安装nvidia显卡驱动3种方法 一、安装依赖 1.更新 sudo apt updatesudo apt upgrade -y2.基础工具 sudo apt install -y build-essential python图形界面相关 sudo apt install -y lightdm注:在弹出对话框选择"lightdm" 二、第一种&#xff1a;使用…...

[paddle]paddleseg中eiseg加载模型参数的模型下载地址

图片标注 以下内容为2D图片标注模型下载及EISeg2D图片标注流程&#xff0c;具体如下&#xff1a; 模型准备 在使用EISeg前&#xff0c;请先下载模型参数。EISeg开放了在COCOLVIS、大规模人像数据、mapping_challenge&#xff0c;Chest X-Ray&#xff0c;MRSpineSeg&#xff…...

标定板生成网址,可以直接打印,matlab标定工具箱

Camera Calibration Pattern Generator – calib.io matlab 打开标定的成像 cameraCalibrator 点击完成之后 命令行中输入 cameraParams.IntrinsicMatrix...

React高级特性之受控和非受控组件

一、受控组件 受控组件&#xff1a;input框自己的状态被React组件状态控制 // 类组件引入React import React from reactclass InputComponent extends React.Component{state {message: zm66666}changeHandler (e) > {this.setState({message: e.target.value})}render…...

提交网站/近期热点新闻事件

利用java打开一张图片&#xff0c;并提取其边缘。功能有打开文件&#xff0c;以及提取边缘。算法原理由于边缘提取的算法有很多种&#xff0c;而提取的精度在相同阈值的情况下也会有不同的结果。这次我的边缘提取使用索贝尔算子(Sobel operator)。该算子会把图像每一点的灰度矢…...

wordpress视频教程下载地址/app怎么开发出来的

关于cocos2d-x下Lua调用C的文档看了不少&#xff0c;但没有一篇真正把这事给讲明白了&#xff0c;我自己也是个初学者&#xff0c;摸索了半天&#xff0c;总结如下&#xff1a;cocos2d-x下Lua调用C这事之所以看起来这么复杂、网上所有的文档都没讲清楚&#xff0c;是因为存在5个…...

做企业网站的缺点/厦门百度关键词推广

System类&#xff0c;Date类1.System.currentTimeMillis():返回1970年1月1日0时0分0秒到现在的时间戳的差值2.Date类(java.util.Date)public class StringTest01 {public static void main(String[] args) {Date date1 new Date();//创建一个当前时间的Date对象Date date2 ne…...

阿里云个人网站制作/苏州百度推广分公司电话

2019独角兽企业重金招聘Python工程师标准>>> 深入原理分析与解析&#xff08;本文并未抄录&#xff09;&#xff1a;http://www.freebuf.com/articles/web/40520.html 下面你将要看到的来自http://www.cnblogs.com/bangerlee/archive/2013/04/06/3002142.html xss表…...

手机网站建设设计/百度推广中心

I值便利, 什么是I值便利, 我们可以把I当成一个整型的首字母, 在这里有两种方法可以实现. 涉及到的方法: objectAtIndex: 这里指的是打印数组里的第几个元素. 第一种方法是直接打印数组里有多少个元素. 第二种是直接把数组里的所有元素逐个打印出来. #import <Foundation/Fou…...

美工常用找素材网站/外包网

现有程序已经有退出的窗口的弹出框&#xff0c;是用的layer插件 在点击确定调用window.close 方法时候IE8弹出了警告框。 之后修改了代码&#xff0c;js部分 //点击关闭QuoteDetail.prototype.close function(){layer.confirm("确定要关闭报价详情页面吗&#xff…...