涉及工具
1 mac自带app:“脚本编辑器” 2 原生应用「Accessibility Inspector(需安装 Xcode)」用以定位目标控件的类型,方便在打印的子控件中查找

开始:
模拟操作步骤:

打开message app

tell application "Messages" to activate
复制代码

操作需要在System Events下执行,所以需要tell一下

tell application "Messages" to activate
tell application "System Events"end tell
复制代码

找到“信息”app

tell application "Messages" to activate
tell application "System Events"tell process "Messages"end tell
end tell
复制代码

查找选中要删除的短信

经验性规律:脚本运行结果中的所有 UI 元素是按软件界面中从上到下,从左到右的顺序排列的。

结合Accessibility Inspector ,查找要删除的短信的path

注意,大家的path可能不一样,比我有两个顶置消息所以位置path如下

tell application "Messages" to activate
tell application "System Events"tell process "Messages"click UI element 4 of group 1 of group 1 of group 1 of group 2 of group 1 of group 1 of group 1 of group 2 of group 1 of group 1 of group 1 of group 1 of group 1 of group 1 of group 1 of window 1end tell
end tell
复制代码

用“信息”app的顶部菜单栏实现,触发删除操作

查找顶部菜单栏中的删除按钮

delay 给出系统响应和UI事件的时间

tell application "Messages" to activate
tell application "System Events"tell process "Messages"click UI element 4 of group 1 of group 1 of group 1 of group 2 of group 1 of group 1 of group 1 of group 2 of group 1 of group 1 of group 1 of group 1 of group 1 of group 1 of group 1 of window 1delay 0.2tell menu 1 of menu bar item "文件" of menu bar 1entire contentsend tellend tell
end tell
复制代码

打印

{menu item "新信息" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item 2 of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item "快速查看" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item 4 of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item "关闭窗口" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item "全部关闭" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item "删除对话…" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item "在单独窗口中打开对话" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item 9 of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item "从iPhone导入" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu "从iPhone导入" of menu item "从iPhone导入" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item "iPhone 13" of menu "从iPhone导入" of menu item "从iPhone导入" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item "拍照" of menu "从iPhone导入" of menu item "从iPhone导入" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item "扫描文稿" of menu "从iPhone导入" of menu item "从iPhone导入" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item "添加速绘" of menu "从iPhone导入" of menu item "从iPhone导入" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item 5 of menu "从iPhone导入" of menu item "从iPhone导入" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item 11 of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events", menu item "打印…" of menu "文件" of menu bar item "文件" of menu bar 1 of application process "Messages" of application "System Events"}

找到目标的path :menu item “删除对话…” of menu “文件” of menu bar item “文件” of menu bar 1

click 它,弹出删除确认框

弹出删除确认框
如果不熟悉Mac端的开发控件,可通过Accessibility Inspector,点击右上角聚焦,选中控件,查看控件信息

弹出框为sheet类型,在新window中

tell application "Messages" to activate
tell application "System Events"tell process "Messages"click UI element 4 of group 1 of group 1 of group 1 of group 2 of group 1 of group 1 of group 1 of group 2 of group 1 of group 1 of group 1 of group 1 of group 1 of group 1 of group 1 of window 1delay 0.2click menu item "删除对话…" of menu 1 of menu bar item "文件" of menu bar 1delay 0.2tell sheet 1 of window 1entire contentsend tellend tell
end tell
复制代码

打印

{image 1 of sheet 1 of window "1068177100319040" of application process "Messages" of application "System Events", static text "您要删除此对话吗?" of sheet 1 of window "1068177100319040" of application process "Messages" of application "System Events", static text "此对话将从您的所有设备上删除。您不能撤销此操作。" of sheet 1 of window "1068177100319040" of application process "Messages" of application "System Events", button "删除" of sheet 1 of window "1068177100319040" of application process "Messages" of application "System Events", button "取消" of sheet 1 of window "1068177100319040" of application process "Messages" of application "System Events"}找目标item的path :button "删除" of sheet 1tell application "Messages" to activate
tell application "System Events"tell process "Messages"click UI element 4 of group 1 of group 1 of group 1 of group 2 of group 1 of group 1 of group 1 of group 2 of group 1 of group 1 of group 1 of group 1 of group 1 of group 1 of group 1 of window 1delay 0.2click menu item "删除对话…" of menu 1 of menu bar item "文件" of menu bar 1delay 0.2click button "删除" of sheet 1 of window 1end tell
end tell
复制代码

重复,删除全部

tell application "Messages" to activate
tell application "System Events"tell process "Messages"repeat 2 timesclick UI element 4 of group 1 of group 1 of group 1 of group 2 of group 1 of group 1 of group 1 of group 2 of group 1 of group 1 of group 1 of group 1 of group 1 of group 1 of group 1 of window 1delay 0.2click menu item "删除对话…" of menu 1 of menu bar item "文件" of menu bar 1delay 0.2click button "删除" of sheet 1 of window 1delay 0.5end repeatend tell
end tell

最后
如果你觉得此文对你有一丁点帮助,点个赞。或者可以加入我的开发交流群:1025263163相互学习,我们会有专业的技术答疑解惑

如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star:http://github.crmeb.net/u/defu不胜感激 !

PHP学习手册:https://doc.crmeb.com
技术交流论坛:https://q.crmeb.com

使用AppleScript批量删除Mac中的信息相关推荐

  1. 批量删除Mac中的短信及iMessages信息

    问题提出 在Mac的"信息"App中登录AppId后在方便到的Mac端接收或发送手机短信,非常方便.但是Mac端的信息不能批量删除,导致信息中留存了大量验证码短信.垃圾短信等内容. ...

  2. 批量删除Word中回车、多余空格和空…

    批量删除Word中回车.多余空格和空行的方法 一.如何批量删除Word文档中回车 有时候我们需要把内网信息传到省网和外网时,会发现将文章复制到Word文档进行编辑时,出现了带有好多向下箭头的符号这就是 ...

  3. Pandas批量删除dataframe列名中的后缀实战:使用rstrip函数批量删除列名中的后缀(suffix)、使用replace函数批量删除列名中的后缀(suffix)

    Pandas批量删除dataframe列名中的后缀实战:使用rstrip函数批量删除列名中的后缀(suffix).使用replace函数批量删除列名中的后缀(suffix) 目录

  4. Pandas批量删除dataframe列名中的前缀实战:使用lstrip函数批量删除列名中的前缀(prefix)、使用replace函数批量删除列名中的前缀(prefix)

    Pandas批量删除dataframe列名中的前缀实战:使用lstrip函数批量删除列名中的前缀(prefix).使用replace函数批量删除列名中的前缀(prefix) 目录

  5. python中读取word信息_Python实现批量读取word中表格信息的方法

    本文实例讲述了Python实现批量读取word中表格信息的方法.分享给大家供大家参考.具体如下: 单位收集了很多word格式的调查表,领导需要收集表单里的信息,我就把所有调查表放一个文件里,写了个py ...

  6. python mysql批量更新_Python批量删除mysql中千万级大量数据的脚本分享

    场景描述 线上mysql数据库里面有张表保存有每天的统计结果,每天有1千多万条,这是我们意想不到的,统计结果咋有这么多.运维找过来,磁盘占了200G,最后问了运营,可以只保留最近3天的,前面的数据,只 ...

  7. python批量删除文件名_python批量删除文件名中的未知字符

    python 批量删除文件名中的未知字符 如上图所示, 需要修改的文件名的个数超过 500 个, 如果一个一个的删除非常的费时间, 现 在用 python 修改很容易,方便又省时间,具体步骤如下 1 ...

  8. java删除某些段落word_Java 批量删除Word中的空白段落示例代码

    1. 测试文档.期望达到的目标文档效果 用于测试的Word文档如下所示,包含的空白段落影响文章整体布局及美观性: 目标文档效果: 2. 辅助工具 2.1 使用类库:Free Spire.Doc for ...

  9. excel删除无尽空白行_Excel2019如何批量删除表格中的空白行?

    在使用Excel2019编辑文档的时候,在表格中有很多的空白行如何批量的把这些空白行给删除掉呢 Excel2019如何批量删除表格中的空白行? 首先在电脑上用Excel2019打开要编辑的表格,可以看 ...

  10. 如何批量删除word中的中文和标点符号(word删除中文所有标点符号)

    如何批量删除word中的中文和标点符号(word删除中文所有标点符号) 当文档中前面一列英文,后面一列汉字的时候,你还在一个一个的去删除汉字吗?那样也太慢了.快快看看下面介绍的几种方法,绝对会大大提高 ...

最新文章

  1. 给Eclipse提速的7个技巧(转)
  2. Mysql备份工具xtrabackup 8 安装图解
  3. 程序员到底该怎么给女朋友挑礼物
  4. 3分钟了解“关联规则”推荐
  5. 【爱心代码大全】——情人节表白代码送给她属于我们程序员的浪漫
  6. java 自带导出excel_4.java项目页面导出excel功能
  7. Smart/400开发上手2: COBOL批处理程序处理过程
  8. Perl 数字与字符串运算符之区别
  9. 程序员的梗_程序员都背着大书包,里面到底装的什么?程序员们:钱、电脑.....
  10. 关于vs重新生成出现“错误 CS0006: 未能找到元数据文件”.
  11. java赛车小游戏代码_java版赛车小游戏源代码
  12. Hadoop面试试题
  13. 单系统 台电x80pro_台电X80HD安装Win8单系统教程
  14. 快速地将SolidWorks模型导入Adams
  15. win10user文件夹迁移_Win10转移系统盘用户文件到非系统盘的详细步骤
  16. 翼次元空间:智协云店通+BitCOO的4WiN.io全球互贸链 | Fund++
  17. 引入 DTM 以支持 ABP 的多租户多数据库场景
  18. 笔耕不辍 | Redis入门
  19. 心理压力测试软件,心理压力测试
  20. 如何把分布式远程总线IO应用到项目中

热门文章

  1. [每日一氵]协方差矩阵计算
  2. Maximum Clique最大团问题
  3. magicbook java开发_荣耀MagicBook2019 Intel版值得买吗 MagicBook2019 Intel版笔记本详细评测...
  4. Android开发关于调用摄像头黑屏没反应的问题
  5. 手机成像技术简谈(测光篇)
  6. vscode背景绿色配置
  7. 买股不如买基?Python实现快速追踪基金的收益情况!谁还不是个买基高手?
  8. 微信公众号上传永久图片素材
  9. 什么是二进制,进制之间是如何转换的,浅显易懂的,一看就会
  10. Python selenium练习:华为保修查询