Auto.js学习笔记9:脚本引擎使用,启动指定路径脚本文件和关闭等基础方法

申明本人使用的autojs是4.1.1版本

目录

脚本引擎:engines

engines.execScript(name, script[, config])

运行指定路径文件脚本:engines.execScriptFile(path[, config])

运行的录制文件脚本:engines.execAutoFile(path[, config])

脚本执行时的配置:ScriptConfig

delay

 interval

 loopTimes

getPath()

停止脚本:engines.stopAll()

停止脚本并显示脚本数:engines.stopAllAndToast()

获取当前脚本的脚本引擎对象:engines.myEngine()

返回脚本目录:ScriptEngine.cwd()

其它细节查官方文档

实际开发代码示例


脚本引擎:engines

engines模块包含了一些与脚本环境、脚本运行、脚本引擎有关的函数,包括运行其他脚本,关闭脚本等。

engines.myEngine().cwd();//获取脚本所在目录

engines.execScript(name, script[, config])

  • name {string} 要运行的脚本名称。这个名称和文件名称无关,只是在任务管理中显示的名称。
  • script {string} 要运行的脚本内容。
  • config {Object} 运行配置项
    • delay {number} 延迟执行的毫秒数,默认为0
    • loopTimes {number} 循环运行次数,默认为1。0为无限循环。
    • interval {number} 循环运行时两次运行之间的时间间隔,默认为0
    • path {Array} | {string} 指定脚本运行的目录。这些路径会用于require时寻找模块文件。

​ 在新的脚本环境中运行脚本script。返回一个ScriptExecution对象。 ​

所谓新的脚本环境,指定是,脚本中的变量和原脚本的变量是不共享的,并且,脚本会在新的线程中运行。

简单的例子:

engines.execScript("hello world", "toast('hello world')");

循环运行例子:

//每隔3秒运行一次脚本,循环10次
engines.execScript("hello world", "toast('hello world')", {
    loopTimes: 10,
    interval: 3000
});

运行指定路径文件脚本:engines.execScriptFile(path[, config])

  • path {string} 要运行的脚本路径。
  • config {Object} 运行配置项
    • delay {number} 延迟执行的毫秒数,默认为0
    • loopTimes {number} 循环运行次数,默认为1。0为无限循环。
    • interval {number} 循环运行时两次运行之间的时间间隔,默认为0
    • path {Array} | {string} 指定脚本运行的目录。这些路径会用于require时寻找模块文件。
engines.execScriptFile("/sdcard/脚本/1.js");//简单的例子

运行的录制文件脚本:engines.execAutoFile(path[, config])

  • path {string} 要运行的录制文件路径。
  • config {Object} 运行配置项
    • delay {number} 延迟执行的毫秒数,默认为0
    • loopTimes {number} 循环运行次数,默认为1。0为无限循环。
    • interval {number} 循环运行时两次运行之间的时间间隔,默认为0
    • path {Array} | {string} 指定脚本运行的目录。这些路径会用于require时寻找模块文件。

在新的脚本环境中运行录制文件path。返回一个ScriptExecutionScriptExecution对象。

engines.execAutoFile("/sdcard/脚本/1.js"); //例子

脚本执行时的配置:ScriptConfig

delay

  • {number}

延迟执行的毫秒数

 interval

  • {number}

循环运行时两次运行之间的时间间隔

 loopTimes

  • {number}

循环运行次数

getPath()

  • 返回 {Array}

返回一个字符串数组表示脚本运行时模块寻找的路径。

停止脚本:engines.stopAll()

停止所有正在运行的脚本。包括当前脚本自身。

停止脚本并显示脚本数:engines.stopAllAndToast()

停止所有正在运行的脚本并显示停止的脚本数量。包括当前脚本自身。

获取当前脚本的脚本引擎对象:engines.myEngine()

该对象可以通过execArgv来获取他的运行参数,包括外部参数、intent等。例如:

log(engines.myEngine().execArgv);

普通脚本的运行参数通常为空,通过定时任务的广播启动的则可以获取到启动的intent。

返回脚本目录:ScriptEngine.cwd()

  • 返回 {string}是目录不是路径注意哈

返回脚本执行的路径。对于一个脚本文件而言为这个脚本所在的文件夹;对于其他脚本,例如字符串脚本,则为null或者执行时的设置值。

ScriptEngine.getSource()

返回当前脚本引擎正在执行的脚本对象。

log(engines.myEngine().getSource());//简单例子

其它细节查官方文档

实际开发代码示例

toastLog("启动脚本")
var path = engines.myEngine().cwd();//获取脚本目录
toastLog('脚本路径:'+path)
engines.execScriptFile(path+"/AutoWeiXinNews.js", {
    loopTimes: 1,
    interval: 6000
});//简单的例子
engines.stopAllAndToast();//停止所有脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PYB3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值