什么是 run-applescript?
run-applescript
是一个 NPM(Node Package Manager)包,它提供了一种在 Node.js 环境下运行 AppleScript 的方法。AppleScript 是 Apple 公司开发的一种脚本语言,可用于自动化 macOS 平台上的操作。使用 run-applescript
可以在 Node.js 中直接执行 AppleScript 脚本,从而实现对 macOS 系统的自动化控制。
安装 run-applescript
使用 npm 可以很方便地安装 run-applescript
:
npm install run-applescript
安装完成后即可在项目中引入该包:
const runAppleScript = require('run-applescript');
使用 run-applescript
运行简单的 AppleScript 脚本
假设我们有一个简单的 AppleScript 脚本,可以弹出一个对话框并显示一条消息:
display alert "Hello, World!"
要在 Node.js 中运行此脚本,只需要将其作为参数传递给 runAppleScript
函数即可:
const runAppleScript = require('run-applescript'); runAppleScript('display alert "Hello, World!"') .then(console.log) .catch(console.error);
这里使用了 Promise 的语法,当 AppleScript 脚本执行成功后会输出 "OK"
字符串,否则会输出错误信息。
传递参数给 AppleScript 脚本
AppleScript 脚本通常需要从外部获取一些输入参数,可以通过在脚本中声明变量来实现。例如,我们可以编写一个可以接收参数并输出参数值的 AppleScript 脚本:
on run argv display dialog item 1 of argv as string end run
这里使用了 on run
语句来定义一个 AppleScript 函数,该函数可以接收一个参数数组 argv
。在 Node.js 中调用该脚本时,可以将参数作为字符串数组传递给 runAppleScript
函数:
const runAppleScript = require('run-applescript'); runAppleScript('on run argv\n display dialog item 1 of argv as string\nend run', ['Hello, World!']) .then(console.log) .catch(console.error);
这里将 "Hello, World!"
作为参数传递给了 AppleScript 脚本,并弹出一个对话框显示该参数的内容。
使用 AppleScript 库
AppleScript 还提供了一些内置的库,可以方便地实现更复杂的操作。例如,我们可以使用 System Events
库来模拟键盘鼠标操作:
tell application "System Events" key code 49 -- press space key delay 1 -- wait for 1 second key code 53 -- press escape key end tell
这里使用了 tell
语句来指定要操作的应用程序,并使用 key code
命令模拟按键操作。在 Node.js 中调用该脚本时,可以使用 runAppleScript
函数的 withOptions
参数来指定要使用的 AppleScript 库:
-- -------------------- ---- ------- ----- -------------- - --------------------------- --------------- ----- ----------- ------- --------- --- ---- ---- ----- --- --- ---- ------- ------ ----- - ------------ ------ -------------- -------------- ---- - - ------------------ ----------------------
这里使用了 { withOptions: ['-l', 'JavaScript'], includeStderr: true }
参数来指定要加载的 AppleScript 库。由于使用了 -l JavaScript
选项,因此可以在 AppleScript 中使用 JavaScript 代码。
总结
通过 run-applescript
包,我们可以在 Node.js 中方便地运行 AppleScript 脚本,并实现对
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/50454