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

2022-03-09 10:17:31 浏览数 (1)

涉及工具

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

0 人点赞