python使用pyautogui自动化模拟鼠标、键盘操作、截屏、识别图片位置

news2024/12/22 17:02:06
  • 🌈所属专栏:【python】
  • 作者主页:  Mr.Zwq
  • ✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询!

您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩🥰😍


         pyautogui 是一个功能强大的Python库,用于自动化计算机上的鼠标和键盘操作。它支持Windows、macOS和Linux操作系统,并广泛应用于自动化测试、数据录入、自动化演示等场景。以下是对 pyautogui 的简介和使用方法的详细介绍:

pyautogui简介

  • 功能:pyautogui 允许用户通过编程来控制鼠标和键盘操作,模拟人类在计算机上的输入行为。
  • 用途:该库对于需要重复性操作的任务特别有用,例如表格数据的录入、游戏的自动化控制或者日常办公自动化。
  • 跨平台:由于Python的跨平台特性,pyautogui 可以在多个操作系统上运行。

pyautogui使用

安装

使用pip命令可以轻松安装pyautogui:

pip install pyautogui

基本使用

1.导入库

import pyautogui

2.鼠标控制

  • 移动鼠标
pyautogui.moveTo(x, y, duration=0)  # 将鼠标移动到屏幕的(x, y)位置,duration为移动时间(秒)
  • 点击鼠标
pyautogui.click(x=None, y=None, button='left', duration=0.1)  # 在指定位置点击鼠标(没有指定则是当前鼠标位置),button可指定左键、中键或右键
  • 滚动鼠标
pyautogui.scroll(clicks)  # 滚动鼠标滚轮,clicks为滚动的刻度数

3.键盘控制

  • 输入文本
pyautogui.typewrite(string, interval=0)  # 输入字符串,interval为每个字符之间的间隔时间
  • 按键操作
pyautogui.press('key')  # 按下一个键,'key'为要按下的键名
  • 按下和释放键
pyautogui.keyDown('shift')  
pyautogui.press('up')  
pyautogui.keyUp('shift')  # 分别用来按下、执行按键操作、释放一个键
  •  热键
pyautogui.hotkey('ctrl', 'a')  # 组合键,ctrl+a 全选

4.其它功能

  • 获取鼠标当前坐标
current_pos = pyautogui.position()  # 返回当前鼠标的(x, y)坐标
  • 获取屏幕尺寸
screen_size = pyautogui.size()  # 返回屏幕的宽度和高度
  • 获取图片在屏幕上的位置
pyautogui.locateOnScreen('1.jpg')
  • 获取屏幕截图并保存
pyautogui.screenshot('screenshot.png')  # 截全屏

pyautogui.screenshot('screenshot1.png',region=(0,0,100,100))  # 按指定区域截屏

小结:pyautogui是一个强大的Pytho库,通过模拟鼠标和键盘操作,可以实现计算机自动化任务。其丰富的功能和跨平台特性使得它在多个领域都有广泛的应用。使用PyAutoGUI可以大大提高工作效率,减少重复性劳动。


总结

感谢观看,原创不易,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹🌹🌹

👍🏻也欢迎你,关注我。👍🏻

如有疑问,可在评论区留言哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1844057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进入全球市场的游戏本地化策略

开发商在开发游戏时已经很久没有针对单一国家了。对于目前正在开发的许多游戏来说,它们都致力于进入全球市场并吸引各种客户。然而,必须考虑一些游戏是否适合某些市场,以及某些国家是否具有足够的市场潜力。此外,在进入海外市场时…

实现一个简易动态线程池

项目完整代码:https://github.com/YYYUUU42/Yu-dynamic-thread-pool 如果该项目对你有帮助,可以在 github 上点个 ⭐ 喔 🥰🥰 1. 线程池概念 2. ThreadPoolExecutor 介绍 2.1. ThreadPoolExecutor是如何运行,如何同时…

自定义平台后台登录地址前缀的教程

修改平台后台地址默认的 admin 前缀 修改后端 config/admin.php 配置文件,为自定义的后缀 修改 平台后台前端源码中 src/settings.js 文件,修改为和上面一样的配置 修改后重新打包前端代码,并且覆盖到后端的 public 目录下 重启 swoole 服务即可

通过git命令查询某个用户提交信息

要查询某个用户通过 Git 提交了多少行代码,可以使用以下步骤和命令来实现。这些命令将统计该用户的添加和删除的代码行数。 1、切换到你的 Git 仓库: cd /path/to/your/repositorygit命令结果: 2、查询所有用户: git log --pr…

springboot3多模块实践

先帖下目录结构&#xff0c;直接在idea里面新建就行&#xff0c;删掉多余的文件 子模块的新建 根目录pom文件&#xff0c;注意modules、packaging&#xff0c;dependencyManagement统一管理依赖&#xff0c;子模块添加依赖的时候就不用加版本号 <?xml version"1.0…

【TIM输出比较】

TIM输出比较 1.简介1.1.输出比较功能1.2.PWM 2.输出比较通道2.1.结构原理图2.2.模式分类 3.输出PWM波形及参数计算4.案例所需外设4.1.案例4.2.舵机4.3.直流单机 链接: 15-TIM输出比较 1.简介 1.1.输出比较功能 输出比较&#xff0c;英文全称Output Compare&#xff0c;简称O…

微观时空结构和虚数单位的关系

回顾虚数单位的定义&#xff0c; 其中我们把称为周期&#xff08;的绝大部分&#xff09;&#xff0c;称为微分&#xff0c;0称为原点或者起点&#xff08;意味着新周期的开始&#xff09;&#xff0c;由此我们用序数的概念反过来构建了基数的概念。 周期和单位显然具有倍数关…

ACS自助借还服务端模拟工具(3M SIP2协议)

点击下载《ACS自助借还服务端模拟工具&#xff08;源代码&#xff09;》 1. 前言 在当今科技迅猛发展的时代&#xff0c;自助服务系统已成为提升用户体验和运营效率的关键。为了满足自助借还软件辅助开发的需求&#xff0c;我们精心打造了一款功能强大的ACS服务端模拟软件。这…

AI音乐大模型:是创意的助力还是产业的挑战?

近期音乐界迎来了一场前所未有的革命。随着多家科技公司纷纷推出音乐大模型&#xff0c;素人生产音乐的门槛被前所未有地拉低&#xff0c;一个崭新的“全民音乐时代”似乎已近在眼前。然而&#xff0c;在这场技术革新的浪潮中&#xff0c;关于AI产品版权归属、创意产业如何在AI…

审稿人:拜托,请把模型时间序列去趋势!!

大侠幸会&#xff0c;在下全网同名「算法金」 0 基础转 AI 上岸&#xff0c;多个算法赛 Top 「日更万日&#xff0c;让更多人享受智能乐趣」 时间序列分析是数据科学中一个重要的领域。通过对时间序列数据的分析&#xff0c;我们可以从数据中发现规律、预测未来趋势以及做出决策…

体育时间:“中国第一”的出海代表们,一致瞄准了这一赛道?

2024年无疑又是一个体育赛事超级大年。 从1月的亚洲杯&#xff0c;2月的世乒团体锦标赛、第14届冬运会、到6月欧洲杯与美洲杯隔空对决&#xff0c;巴黎奥运会也将在7月盛大开赛&#xff0c;随后则还有8月的巴黎残奥会&#xff0c;对于期待万分的体育粉丝们&#xff0c;这将是极…

RapidLayout:中英文版面分析推理库

引言 继上一篇文章之后&#xff0c;我这里想着将360发布的版面分析模型整合到现有的rapid_layout仓库中&#xff0c;便于大家快速使用。 不曾想到&#xff0c;我这整理工作越做越多了&#xff0c;好在整体都是往更好方向走。 起初&#xff0c;rapid_layout项目是在RapidStru…

代码随想录训练营Day 64|卡码网98. 所有可达路径(深搜)

1.所有可达路径 98. 所有可达路径 | 代码随想录 代码&#xff1a; &#xff08;深搜&#xff09;邻接矩阵表示 #include <iostream> #include <vector> using namespace std; vector<int> path; vector<vector<int>> result; void dfs(const ve…

2024年史上最难就业季,该如何逆风翻盘?

前言 【2024年被称为最难就业年&#xff0c;1158万大学生面临难题】 IT互联网依然是大学生最向往行业&#xff0c;制造业受欢迎度升高智联招聘调研数据显示&#xff0c;2024届求职毕业生期望行业中&#xff0c;IT/通信/电子/互联网、政府/非盈利机构、文化/传媒/娱乐/体育行业…

urfread刷算法题day1|LeetCode2748.美丽下标的数目

题目 题目链接 LeetCode2748.美丽下标对的数目 题目描述 给你一个下标从 0 开始的整数数组 nums 。 如果下标对 i、j 满足 0 ≤ i < j < nums.length &#xff0c; 如果 nums[i] 的 第一个数字 和 nums[j] 的 最后一个数字 互质 &#xff0c; 则认为 nums[i] 和 nums…

大模型应用开发实践:RAG与Agent

RAG planning是任务拆解的一些方法。 Agent RAG现在基本上推荐LangChain开发框架。而Agent目前没有一个通用的好的开发框架/范式。 学习路径

uni-app的uni-list列表组件高效使用举例 (仿知乎日报实现)

目录 前言 uni-list组件介绍 基本使用 高级配置与自定义 仿知乎日报实现 知乎的api接口 后台服务实现 知乎日报首页 轮播图界面实现 客户端接口实现 uni-list列表使用 插入日期分割线 下滑分页的实现 完整页面代码 其他资源 前言 在移动应用开发领域&#xff0…

18V-180V降12V500mA恒压模块WT5118

18V-180V降12V500mA恒压模块WT5118 WT5118是一款能够将输入电压范围从18V至180V降低至12V并保持恒定输出电流500mA的恒压模块。 WT5118 是一款专为开关电源设计的集成了 180V 高电压 MOSFET 的 DC-DC 控制器。这个设备具备内置高压启动和自供电功能&#xff0c;能够满足快速启…

ICP备案调用公安身份证接口核验证件真实性未通过解决方法

网站备案或APP备案提供初审后提示管局审核未通过“调用公安身份证接口核验证件真实性未通过未通过信息为主体/网站负责人”被系统自动退回&#xff0c;阿里云百科整理详细调用公安身份证接口核验证件真实性未通过的解决方法&#xff1a; 原因分析&#xff1a;调用公安身份证接…

索引和深分页优化案例

一、初始状态没加索引 总数据100w左右 浅分页 查询10条需要1.5s左右 select * from timer_task where app hzhXtimer order by run_timer limit 0,10深分页查询10条需要1.7s左右 select * from timer_task where app hzhXtimer order by run_timer limit 100000,10看执…