jxa
直接在 Node 中访问 macOS JavaScript for Automation API
与 osa2 模块类似,但具有同步调用和更多'魔术'的API。 如果您正在构建库,请使用 osa2 。这个模块最适合小脚本。
安装
模块: npm install --save jxa
REPL: npm install -g jxa
用法
与 Apple 官方的自动化运行时 JavaScript 进行交互的方式与这里描述的相同,唯一的区别是,您必须通过要求此模块来获取 Application 对象的句柄。
var Application = require('jxa').Application; var iTunes = Application('iTunes'); var name = iTunes.currentTrack.name(); var artist = iTunes.currentTrack.artist(); console.log(name + ' by ' + artist); // Pay No Mind (feat. Passion Pit) by Madeon iTunes.pause(); // Music pauses iTunes.play(); // Music plays
如果您全局安装 JXA( npm install -g jxa ),则会提供一个 REPL 来将 Application() 公开在全局范围内。
will@laptop ~ $ jxa-node > Application('iTunes') [object JXAReference => [object Application]] > Application('iTunes').play() undefined > Application('iTunes').currentTrack [object JXAReference => [object ObjectSpecifier]] > Application('iTunes').currentTrack.name() 'No Problem (feat. Lil Wayne & 2 Chainz)' >