前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用AppleScript批量删除Mac中的信息

使用AppleScript批量删除Mac中的信息

原创
作者头像
PHP开发工程师
发布2022-03-09 10:17:31
1.1K0
发布2022-03-09 10:17:31
举报
文章被收录于专栏:thinkphp+vue

涉及工具

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

开始:

模拟操作步骤:

打开message app

代码语言:javascript
复制
tell application "Messages" to activate
复制代码

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

代码语言:javascript
复制
tell application "Messages" to activate
tell application "System Events"

end tell
复制代码

找到“信息”app

代码语言:javascript
复制
tell application "Messages" to activate
tell application "System Events"
	tell process "Messages"

	end tell
end tell
复制代码

查找选中要删除的短信

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

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

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

代码语言:javascript
复制
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 1
		
	end tell
end tell	
复制代码

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

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

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

代码语言:javascript
复制
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 1
		delay 0.2
		tell menu 1 of menu bar item "文件" of menu bar 1
			entire contents
		end tell
		
	end 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中

代码语言:javascript
复制
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 1
		delay 0.2
		click menu item "删除对话…" of menu 1 of menu bar item "文件" of menu bar 1
		delay 0.2
		tell sheet 1 of window 1
			entire contents
		end tell
		
	end 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 1

代码语言:javascript
复制
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 1
		delay 0.2
		click menu item "删除对话…" of menu 1 of menu bar item "文件" of menu bar 1
		delay 0.2
		click button "删除" of sheet 1 of window 1
		
	end tell
end tell
复制代码

重复,删除全部

代码语言:javascript
复制
tell application "Messages" to activate
tell application "System Events"
	tell process "Messages"
		
		repeat 2 times
			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 1
			delay 0.2
			click menu item "删除对话…" of menu 1 of menu bar item "文件" of menu bar 1
			delay 0.2
			click button "删除" of sheet 1 of window 1
			delay 0.5
		end repeat
		
	end tell
end tell

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 涉及工具
  • 开始:
    • 弹出删除确认框
    相关产品与服务
    短信
    腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档