什么是 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
:
--- ------- ---------------
安装完成后即可在项目中引入该包:
----- -------------- - ---------------------------
使用 run-applescript
运行简单的 AppleScript 脚本
假设我们有一个简单的 AppleScript 脚本,可以弹出一个对话框并显示一条消息:
------- ----- ------- -------
要在 Node.js 中运行此脚本,只需要将其作为参数传递给 runAppleScript
函数即可:
----- -------------- - --------------------------- ----------------------- ----- ------- --------- ------------------ ----------------------
这里使用了 Promise 的语法,当 AppleScript 脚本执行成功后会输出 "OK"
字符串,否则会输出错误信息。
传递参数给 AppleScript 脚本
AppleScript 脚本通常需要从外部获取一些输入参数,可以通过在脚本中声明变量来实现。例如,我们可以编写一个可以接收参数并输出参数值的 AppleScript 脚本:
-- --- ---- ------- ------ ---- - -- ---- -- ------ --- ---
这里使用了 on run
语句来定义一个 AppleScript 函数,该函数可以接收一个参数数组 argv
。在 Node.js 中调用该脚本时,可以将参数作为字符串数组传递给 runAppleScript
函数:
----- -------------- - --------------------------- ------------------ --- ------ ------- ------ ---- - -- ---- -- ----------- ----- -------- --------- ------------------ ----------------------
这里将 "Hello, World!"
作为参数传递给了 AppleScript 脚本,并弹出一个对话框显示该参数的内容。
使用 AppleScript 库
AppleScript 还提供了一些内置的库,可以方便地实现更复杂的操作。例如,我们可以使用 System Events
库来模拟键盘鼠标操作:
---- ----------- ------- ------- --- ---- -- -- ----- ----- --- ----- - -- ---- --- - ------ --- ---- -- -- ----- ------ --- --- ----
这里使用了 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