[Python进阶] 操纵鼠标:PyAutoGUI
6.4 操纵鼠标:PyAutoGUI
6.4.1 说明
PyAutoGUI是一个Python的GUI自动化工具,它可以让程序自动控制鼠标和键盘的一系列操作。它能够模拟鼠标的移动、点击、拖拽等操作,以及键盘的按键按下和释放等操作。PyAutoGUI还提供了其他功能,如获取屏幕分辨率、判断鼠标是否在屏幕上、显示提示框等。它可以在没有安装其他依赖库的情况下独立运行。PyAutoGUI对于自动化任务、测试脚本的编写以及一些趣味性的项目都非常有用。
注意,PyAutoGUI是跨平台的,它不仅支持Windows,还支持Linux和MAC。
安装:
>>> pip install PyAutoGUI
6.4.2 position()
获取当前鼠标光标的坐标。元组类型,第1个为x坐标,第2个为y坐标。
import pyautogui
from icecream import icx, y = pyautogui.position()
ic(x, y)
21:41:25|> x: 719, y: 470
6.4.3 size()
获取当前屏幕的分辨率,返回结果为元组类型,包括2个元素,分别是:横坐标像素和纵坐标像素。
import pyautogui
from icecream import icx, y = pyautogui.size()
ic(x, y)
21:42:10|> x: 2560, y: 1440
6.4.4 onScreen(x, y=None)
返回给定的xy坐标是否在主屏幕上。请注意,此函数不适用于辅助屏幕。
import pyautogui
from icecream import icic(pyautogui.onScreen(1220, 68))
ic(pyautogui.onScreen(12200, 68))
21:45:48|> pyautogui.onScreen(1220, 68): True
21:45:48|> pyautogui.onScreen(12200, 68): False
6.4.5 mouseDown、mouseUp
模拟将鼠标移动到目标位置后按下或弹起。
参数
x=None 横坐标
y=None 纵坐标
button=PRIMARY 要按下的鼠标按键,可选的有:left、middle、right、primary、secondary,默认为primary
duration 持续时间
tween 渐变
logScreenshot 是否截图,True or False
_pause 是否暂停,True or False
import pyautoguipyautogui.mouseDown(287, 220, logScreenshot=True)
pyautogui.mouseUp(287, 220, logScreenshot=True)
将鼠标移动到指定位置后,按下并弹起,并且在按下和弹起的时候进行全屏截图。生成的图片将会存放在代码文件所在的文件夹内。
6.4.6 click、leftClick、rightClick、middleClick、doubleClick、tripleClick
模拟将鼠标移动到目标位置后完整的点击(包括按下和弹起)。通过这些函数的名字也能知道他们的区别。
参数
x=None 横坐标
y=None 纵坐标
clicks 点击的次数
button=PRIMARY 要按下的鼠标按键,可选的有:left、middle、right、primary、secondary,默认为primary
duration 持续时间
tween 渐变
logScreenshot 是否截图,True or False
_pause 是否暂停,True or False
这个方法和之前的mouseDown、mouseUp差不多,这里也就不多介绍了。
6.4.7 scroll、hscroll、vscroll
滚动鼠标滑轮进行滚动屏幕,滚动的方向(水平、垂直)和系统有关。windows系统中scroll为垂直方向。其它2个则为对应的方向。
参数
Clicks: 滚动量,正数向上滚动,将上方内容滚动到下方(显示更上面的内容),负数反之
X: (int, float, None, tuple, optional): 滚动时,鼠标光标横坐标所在位置,如果是tuple类型则因为光标的横纵坐标
Y: (int, float, None, optional): 滚动时,鼠标光标纵坐标所在位置
LogScreenShot: 是否要截图
6.4.8 moveTo
将鼠标移动到某个位置。
参数
x=None 横坐标
y=None 纵坐标
duration 持续时间
tween 渐变
logScreenshot 是否截图,True or False
_pause 是否暂停,True or False
6.4.9 dragTo
参数
x=None 横坐标
y=None 纵坐标
duration 持续时间
tween 渐变
button=PRIMARY 要按下的鼠标按键,可选的有:left、middle、right、primary、secondary,默认为primary
logScreenshot 是否截图,True or False
_pause 是否暂停,True or False
mouseDownUp 是否要在最后点击一次
拖动某个软件到屏幕右边
import pyautoguipyautogui.moveTo(422, 23)
pyautogui.dragTo(1422, 23, duration=0.5)
相关文章:
[Python进阶] 操纵鼠标:PyAutoGUI
6.4 操纵鼠标:PyAutoGUI 6.4.1 说明 PyAutoGUI是一个Python的GUI自动化工具,它可以让程序自动控制鼠标和键盘的一系列操作。它能够模拟鼠标的移动、点击、拖拽等操作,以及键盘的按键按下和释放等操作。PyAutoGUI还提供了其他功能࿰…...
JavaScript querySelector
querySelector方法的语法: var element document.getElementById("id"); element.querySelector(selector)element是要执行选择操作的父元素,selector是CSS选择器,用于指定要选择的元素。 querySelector方法返回匹配选择器的第一…...

Selenium自动化测试
一、Selenium自动化测试(基于python) 1、Selenium简介: 1.1 Selenium是一款主要用于Web应用程序自动化测试的工具集合。Selenium测试直接运行在浏览器中,本质是通过驱动浏览器,模拟浏览器的操作,比如跳转…...

Lua调用C#类
先创建一个Main脚本作为主入口,挂载到摄像机上 public class Main : MonoBehaviour {// Start is called before the first frame updatevoid Start(){LuaMgr.GetInstance().Init();LuaMgr.GetInstance().DoLuaFile("Main");}// Update is called once p…...
“react“: “^16.14.0“,打开弹窗数据发生变化
“react”: “^16.14.0”, 弹窗 打开弹窗数据发生变化 // 这里对比changeHistoryVisible是否发生改变调用后端方法改变数据componentDidUpdate(prevProps) {if (prevProps.changeHistoryVisible ! this.props.changeHistoryVisible && this.props.changeHistoryVisi…...

MySQL数据库varchar字段求和出现精度丢失
问题描述 在MySQL数据库中,将varchar字段用于数值运算时,会将其转换为数值类型进行计算。然而,由于varchar字段的可变长度特性,可能存在数值精度丢失的问题。 我用varchar类型存储学生的分数,分数有两位小数ÿ…...

C++入门 第二篇( 引用、内联函数、auto关键字、指针空值nullptr)
目录 6. 引用 6.1 引用概念 6.2 引用特性 6.3 常引用 正确用法:权限 缩小/平移 6.4 使用场景 1. 做参数 2. 做返回值 3.传值、传引用效率比较 6.5引用问题举例 6.6 反汇编中的& 6.7 引用和指针的不同点: 7.内联函数 7.1 内联函数与宏对…...

2023年煤气证模拟考试题库及煤气理论考试试题
题库来源:安全生产模拟考试一点通公众号小程序 2023年煤气证模拟考试题库及煤气理论考试试题是由安全生产模拟考试一点通提供,煤气证模拟考试题库是根据煤气最新版教材,煤气大纲整理而成(含2023年煤气证模拟考试题库及煤气理论考…...

嵌入式面试经典30问
嵌入式面试经典30问 很多同学说很害怕面试,看见面试官会露怯,怕自己的知识体系不完整,怕面试官考的问题回答不上了,所以今天为大家准备了嵌入式工程师面试经常遇到的30个经典问题,希望可以帮助大家提前准备࿰…...
C++ 八股文: 构造函数
什么是构造函数 构造函数(Constructor)是一种特殊的成员函数,用于在创建对象时进行初始化。它的作用是确保对象在创建后处于一个合法和可用的状态。构造函数在类定义中声明,其名称与类名相同,但不带返回类型。 写一个…...

自动切割短视频的软件推荐,一键生成1000条短视频,支持六大主流平台矩阵分发,快来免费试用
经过小编的多方测评,今天给大家推荐一款性价比、好评率、专业性全都超高的软件——超级编导批量剪辑软件,更重要的是这款软件支持免费试用,一起来看看超级编导如何帮助大家自动分割视频的吧。 复制视频链接,一键上传视频素材后&am…...

从零开始学习秒杀项目
构思了很多种讲述这个简易版的秒杀项目的思路,比如按照功能分类,按照项目亮点串起来讲述,总觉得不适合基础薄弱的同学来学习,所以本项目按照从搭建开始,过程中需要什么来学习什么。 技术栈 SpringBootmybatisPlus&am…...

儿童珠宝首饰上亚马逊美国站合规标准是什么?如何办理?
儿童珠宝首饰 儿童珠宝首饰指原则上由 12 岁及以下儿童作为装饰品移除或穿戴的商品。本政策涵盖的儿童珠宝首饰,包括但不限于脚链、手链、耳环、项链、戒指、珠宝首饰制作或维修套装以及钟表。 亚马逊儿童珠宝首饰政策 亚马逊要求所有儿童珠宝首饰均经过检测并符合…...
ORACLE 19C PDB FOR MYSQL 5.7 部署ogg
一、--软件配置 角色 数据库/软件版本 OGG版本 IP ---------- ----------------- ------------------------------- ----------- 源端服务器 Oracle Datbase 19 Oracle C##GOLDENGATE 19.1.0.0.4 10.10.10.32 目标服务器 MYSQ…...
前端 html 中的 meta 标签有哪些用处?
HTML中的<meta>标签用于提供有关文档的元数据(metadata),它们不会在页面上显示出来,而是提供有关页面的信息,使搜索引擎和浏览器能够更好地理解和使用文档。下面是一些常见的用途: 1、指定文档的字符…...

罗技鼠标接收器丢失或损坏后用另一个接收器配对的方法
本文介绍罗技鼠标在丢失、损坏其自身原有的接收器后,将另一个新的接收器与原有鼠标相互配对的方法。 在开始之前,大家需要首先查看两个内容:首先是原有的鼠标——大家需要查看自己的鼠标(罗技键盘也是同样的操作)底部&…...
Python语法
文章目录 一、Python基础1. 数据类型和变量2. 字符串和编码字符编码Python的字符串格式化 3. list和tuplelisttuple 4.条件判断5. 模式匹配6. 循环7. dict 和 setdictset 二、函数1. 调用函数2. 定义函数3. 函数的参数4. 递归函数 三、高级特性四、函数式编程1. 高阶函数2. 返回…...

电脑经营商城小程序的作用是什么
电脑是企业办公必备的工具,同时很多家庭都有配备,无论笔记本还是台式在各场景中应用都非常广泛,市场各类品牌也很多,区别于以前店内购买,现在不少消费者会选择线上电商平台购买,也因此如今电脑经销商或品牌…...

森海塞尔EW-DP SKP直插式发射机:真正的无失真录制
韦德马克,2023年9月15日 – 10月底,EW-DP系列将再添新品——EW-DP SKP直插式发射机,面向摄像师、广播电视公司和电影制作人。板载32位浮点录制,结合该系列领先的134 dB发射机动态范围,让音频失真不复存在。无论要在现场…...
通过小程序实现会议Oa的会议展示以及个人中心
🏅我是默,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《微信小程序 》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...