美文网首页
JavaScript for Automation(JAX)使用

JavaScript for Automation(JAX)使用

作者: 雨邪 | 来源:发表于2022-02-25 15:55 被阅读0次

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

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)使用

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

  • javascript automation

    1.continus integrated 2.nodejs:JS runtime for win/Linux/O...

  • AJAX

    什么是AJAX JAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Ja...

  • JavaScript for Automation(JXA) 入

    从 macOS 10.10 开始(当时还叫 OS X),苹果提供了一种新的使用 JavaScript 语言编写自动...

  • 什么是Ajax?

    jax并不算是一种新的技术,全称是asychronous javascript and xml,可以说是已有技术的...

  • 059-整合JAX-RS and Jersey

    JAX-RS初步介绍 JAX-RS 是代表restful web service的一套规范API,JAX-RS规范...

  • mouse aging

    https://www.jax.org/jax-mice-and-services/strain-data-she...

  • WebService-JAX-WS学习案例

    WebService-JAX-WS学习案例 服务端项目: ServiceInterface.java接口 使用@W...

  • JAX-RS

    JAX-RS JAX-RS: Java API for RESTful Web Services是一个Java编程...

  • python automation packages

    Best Python Modules for Automation Automation is an addit...

网友评论

      本文标题:JavaScript for Automation(JAX)使用

      本文链接:https://www.haomeiwen.com/subject/tfgxrrtx.html