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

实用指南:如何在mac m1模拟鼠标与键盘的自动化操作

pyautogui 是一个非常流行的库,用于模拟鼠标和键盘的操作。

这里介绍如何在mac m1平台使用 pyautogui 实现鼠标和键盘的自动化控制。

所用示例和代码参考和修改自网络资料。

1 安装pyautogui

1.1 安装pyautogui

pyautogui非常简单,安装指令如下

pip install pyautogui

1.2 iterm arch设置

如果此时直接运行pyautogui工具,会报如下错误

AttributeError: dlsym(0x477d926b8, objc_msgSendSuper_stret): symbol not found

这时因为本地是mac m1,所以安装的是arm64版本pyautogui。

然而在iterm启动pyautogui时,iterm可能有采用的还是x86的设置。

比如在iterm输入arch,有可能输出如下

# arch

i386 # 这里为arch命令的输出。

这时需要讲arch切换到arm64,命令如下

arch -arm64 zsh

在此运行arch时,输出的就是arm64了。

# arch

arm64 # arch的输出。

此时,就可以正常运行pyautogui了。

详细操作可参考如下文档

https://www.meaoo.cn/mac_arch.html

2 测试pyautogui

2.1  移动鼠标

将鼠标移动到 (100, 200) 坐标,持续 1 秒

import pyautogui
# 将鼠标移动到 (100, 200) 坐标,持续 1 秒
pyautogui.moveTo(100, 200, duration=1)

2.2  单击鼠标

模拟左键单击鼠标,右键单击鼠标。

# 左键单击
pyautogui.click()
# 右键单击
pyautogui.click(button='right')

2.3  拖到鼠标

模拟从当前位置拖动到 (300, 400),持续 2 秒。

# 从当前位置拖动到 (300, 400),持续 2 秒
pyautogui.dragTo(300, 400, duration=2)

代码报错,原因未知。

AssertionError: button argument not in ('left', 'middle', 'right')

2.4  模拟按键

模拟按下回车键,模拟Ctrl+C组合键。

# 按下回车键
pyautogui.press('enter')
# 模拟 Ctrl + C 组合键
pyautogui.press(['ctrl', 'c'])

2.5 模拟键盘输入

模拟键盘输入 'Hello, World!'。

# 输入 'Hello, World!',每个字符间隔 0.1 秒
pyautogui.write('Hello, World!', interval=0.1)

然后在jupyter-lab的下一个框中会输入自动输入Hello,World!

2.6 模拟操作Excel

操作Excel的代码示例如下

import pyautogui
import time
# 打开 Excel 软件
pyautogui.press('winleft')  # 按下 Windows 键打开开始菜单
pyautogui.write('Excel')    # 输入 'Excel' 搜索 Excel
pyautogui.press('enter')    # 按下回车键打开 Excel
# 等待 Excel 打开
time.sleep(5)
# 自动填写表格
# 输入第一列 '姓名'
pyautogui.write('姓名')
pyautogui.press('tab')  # 切换到下一列
pyautogui.write('张三')
# 填写第二列 '年龄'
pyautogui.press('tab')
pyautogui.write('25')
# 填写完成后保存文件并关闭
pyautogui.press(['ctrl', 's'])  # 按下 Ctrl+S 保存
pyautogui.press(['alt', 'f4'])  # 按下 Alt+F4 关闭 Excel

这个需要在windows环境下实现,在mac m1环境下,智能模拟出其中的键盘输入部分。

2.7 延时等待

模拟延时等待5s

time.sleep(5)  # 等待 5 秒钟

3 总结pyautogui

需要注意的是,pyautogui 库在 Windows、macOS 和 Linux 上都可以运行,但不同平台的热键或鼠标操作略有差异。在使用过程中,应根据具体平台的特点进行适当的调整。

reference

---

能控制计算机桌面的多模态AI agent框架

https://blog.csdn.net/liliang199/article/details/156018145

使用Python实现鼠标与键盘自动化操作:从基础到实战应用

https://zhuanlan.zhihu.com/p/23356032557

M1 Silicon Mac shows i386 as architecture even though /bin/zsh is the shell

https://apple.stackexchange.com/questions/467361/m1-silicon-mac-shows-i386-as-architecture-even-though-bin-zsh-is-the-shell

Mac arch切换x86_64

https://www.meaoo.cn/mac_arch.html

MAC M1 symbol not found: can not run #772

https://github.com/asweigart/pyautogui/issues/772

http://www.jsqmd.com/news/374832/

相关文章:

  • 中华老字号药企排行TOP10,广药集团白云山登顶百年匠心榜 - 包罗万闻
  • 2000-2024年地级市环境保护数据-29个指标汇总
  • 新房到别墅装修哪家好:2026最新陕西全屋装修设计公司TOP5推荐 - 深度智识库
  • 深入浅出 SPA/MPA - 指南
  • P7422 「PMOI-2」城市 题解
  • 软件检测实验室认可,一次完整的方法验证过程是怎样的?
  • 【花雕动手做】50V380W-500W有霍尔红黑版本驱动模块:6.5寸轮毂电机综合控制方案
  • 基于51单片机的温湿度监测
  • Java毕设项目:基于springboot的粮库设备管理系统设计与实现(源码+文档,讲解、调试运行,定制等)
  • 雅思培训红黑榜,高通过率机构大揭秘! - 品牌测评鉴赏家
  • I.MX6U 开发板网络环境搭建----(电脑 WiFi 上网,开发板和电脑直连)--虚拟机双网口实现-- Ubuntu20.04
  • 2026必备!降AIGC工具 千笔AI VS 灵感ai 专科生专属神器
  • 【毕业设计】基于springboot的粮库设备管理系统设计与实现(源码+文档+远程调试,全bao定制等)
  • 写论文效率低?2026 年 AI 论文软件排行榜权威发布,效率提升 10 倍不是梦!
  • 开题卡住了?8个AI论文工具深度测评,本科生毕业论文写作必备指南
  • 51单片机密码锁的设计
  • 【计算机毕业设计案例】基于springboot的粮库设备管理系统基于java的粮库设备维护管理系统(程序+文档+讲解+定制)
  • 2026最新!AI论文写作软件 千笔ai写作 VS WPS AI,专科生高效写作神器!
  • 基于51单片机和Proteus的智能停车场设计
  • 剪映专业版曲线变速完全教程:从恒定变速到自由调速
  • 2026别错过!降AIGC软件 千笔·降AI率助手 VS 锐智 AI,研究生专属降重神器
  • 89C51单片机汽车尾灯设计
  • 回收天虹提货券前必读清单 - 京顺回收
  • 导师推荐 10个 AI论文软件:自考毕业论文写作必备工具测评与推荐
  • 【毕业设计】基于springboot的停车场收费管理系统设计与实现(源码+文档+远程调试,全bao定制等)
  • MATLAB与FlightGear联合仿真教程PDF,加上simulink工程文件
  • MrBeast收购Gen Z金融科技应用Step
  • 算法学习日记 | 差分
  • 多云失控预警:终端风险激增下的破局之道
  • 2026年全国二手设备回收厂家权威榜单 助力各类场景资源高效再生 覆盖多业态适配与资源循环 - 深度智识库