注意:需要添加权限: 系统偏好设置--安全性和隐私--点击左下角输入密码--隐私--辅助功能--自动操作
1.启动台--打开自动操作
2.选择应用程序-创建应用
3.选择运行JavaScript
4.清空代码
5.复制以下代码
#!/usr/bin/env osascript -l JavaScript
/**
* 使用说明
* 需要给终端授权辅助功能权限 (系统偏好设置--安全性和隐私--点击左下角输入密码--隐私--辅助功能--勾选终端)
* 1.保存该文件为.js文件(如:run.js)
* 2.打开Mac终端
* 3.cd到当前目录
* 4.执行 osascript run.js
*/
var app = Application.currentApplication()
app.includeStandardAdditions = true
function run() {
console.log('---脚本run---')
var appName = 'Messages'
//启动应用
Application(appName).activate()
//延时1秒
delay(1)
while (true) {
closeMessage(appName)
delay(2)
}
}
function closeMessage(appName) {
//判断是否运行
var isRunning = Application(appName).running()
if (!isRunning) {
return
}
//方法1
try {
//遍历所以ui节点
uiElems = Application('System Events').applicationProcesses[appName].windows[0].entireContents()
uiElems.filter(function(element) {
console.log('role:' + element.role() + ',description:' + element.description())
if (element.role() == 'AXButton' && element.description() == '关闭按钮') {
//根据条件,判断需要点击的控件
element.click()
}
})
} catch (e) {
//console.log('发生异常:' + e)
}
//------------方法2使用 --------------
// /**
// * 查看内容需要点击的UI
// * 1.控制台输入
// * osascript -l JavaScript -i
// * 2.再输入以下命令查看
// * Application('System Events').processes['Messages'].windows[0].entireContents();
// */
//------------方法2 end--------------
//方法2
// try {
// var proc = Application('System Events').processes['Messages']
// proc.windows.at(0).buttons.at(3).click()
// } catch (e) {
// }
}
6.点击运行即可
官方文档:
- JavaScript for Automation Release Notes
- JavaScript for Automation Cookbook
- Mac Automation Scripting Guide