JavaScript for Automation(JAX)使用 Mac辅助功能

注意:需要添加权限: 系统偏好设置--安全性和隐私--点击左下角输入密码--隐私--辅助功能--自动操作

1.启动台--打开自动操作

图片.png

2.选择应用程序-创建应用

图片.png

3.选择运行JavaScript

图片.png

4.清空代码

图片.png

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.点击运行即可


图片.png

官方文档:

  1. JavaScript for Automation Release Notes
  2. JavaScript for Automation Cookbook
  3. Mac Automation Scripting Guide

你可能感兴趣的:(JavaScript for Automation(JAX)使用 Mac辅助功能)