JsDroid 安卓自动化插件帮助文档
命令名称: | JsDroid.About 介绍与帮助 |
---|---|
详细参数: |
text(“String”)
text(Pattern.compile(“正则表达式”))textContains(“包含的文本”) textEndsWith(“包含文本结尾”) textStartsWith(“包含起始文本”) clazz(“class”) clazz(Pattern.compile(“正则表达式”)) clazz(Object.class) clazz(“包名package”,”类名class”) clickable(true/false) 是否可点击 copy(参数By选择器) 没用过 depth(整数型深度值) 深度 desc(“String”) desc(Pattern.compile(“正则表达式”)) descContains(“包含”) descEndsWith(“结尾”) descStartsWith(“开头”) enabled(true/false) 启用 focusable(true/false) 可聚焦的 focused(true/false) 聚焦的 hasChild(参数是By选择器) 添加子选择器条件 By.text(“QQ”).hasChild(By.text(“xxx”)) hasDescendant(By选择器) 添加一个后代选择器条件 By.text(“QQ”).hasDescendant(By.text(“xx”)) hasDescendant(By选择器, 整数型深度) longClickable(true/false) 长点击 pkg(“包名”) pkg(Pattern.compile(“正则表达式”)) res(“资源描述”) res(Pattern.compile(“正则表达式”)) res(“包名”,”资源描述”) scrollable(true/false) 可滚动 selected(truue/false) 可选中 |
命令名称: | JsDroid.CheckUpdate 检查更新 [点我下载插件] 提取码fekg |
---|---|
语法格式: | JsDroid.CheckUpdate |
命令参数: | 无 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" JsDroid.CheckUpdate |
备注: | 无。 |
命令名称: | JsDroid.Click 点击节点 |
---|---|
语法格式: | JsDroid.Click(节点信息[,下标,超时时长]) |
命令参数: | 参数1:必选,字符串型,节点信息。 参数2:可选,数值型,节点下标,节点初始下标为0 参数3:可选,数值型,执行超时时间,单位毫秒,默认执行10毫秒。 节点格式: By.text(“String”)By.text(Pattern.compile(“正则表达式”)) By.textContains(“包含的文本”) By.textEndsWith(“包含文本结尾”) By.textStartsWith(“包含起始文本”) By.clazz(“class”) By.clazz(Pattern.compile(“正则表达式”)) By.clazz(Object.class) By.clazz(“包名package”,”类名class”) By.desc(“String”) By.desc(Pattern.compile(“正则表达式”)) By.descContains(“包含”) By.descEndsWith(“结尾”) By.descStartsWith(“开头”) By.hasChild(参数是By选择器) 添加子选择器条件 By.text(“QQ”).hasChild(By.text(“xxx”)) By.hasDescendant(By选择器) 添加一个后代选择器条件 By.text(“QQ”).hasDescendant(By.text(“xx”)) By.hasDescendant(By选择器, 整数型深度) By.longClickable(true/false) 长点击 By.pkg(“包名”) By.pkg(Pattern.compile(“正则表达式”)) By.res(“资源描述”) By.res(Pattern.compile(“正则表达式”)) By.res(“包名”,”资源描述”)
|
返回值: | 布尔值型:成功返回true,失败返回false。 |
脚本例子: |
复制代码
Import "JsDroid.luae" //例子1,普通点击 If JsDroid.Click("By.text('按键精灵')") Then TracePrint "点击成功" Else TracePrint "点击失败" End If //例子2,和FindNode结合 If JsDroid.FindNode("By.text('按键精灵')","node") Then TracePrint JsDroid.Click("node") TracePrint "点击成功" Else TracePrint "点击失败" End If //例子3,点击下标7的节点 TracePrint JsDroid.Click ("By.clazz('android.widget.TextView')", 7) //例子4,点击节点,超时2000毫秒 TracePrint JsDroid.Click ("By.clazz('android.widget.TextView')", 2000) //例子5,点击节点,与FindNodes结合 If JsDroid.FindNodes("By.clazz('android.widget.TextView')","nodes") Then TracePrint JsDroid.Click("nodes",5) TracePrint "点击成功" Else TracePrint "点击失败" End If |
备注: | 下标值不得小于超时时间。 |
命令名称: | JsDroid.Code 执行JavaScript代码 |
---|---|
语法格式: | JsDroid.Code(Script) |
命令参数: | 参数1:字符串型,必选,JavaScript代码 |
返回值: | 字符串型。 |
脚本例子: |
复制代码
Import "JsDroid.luae" TracePrint JsDroid.Code("'Hello word!'") |
备注: | 无。 |
命令名称: | JsDroid.Drag 拖动节点 |
---|---|
语法格式: | JsDroid.Drag(节点信息,X,Y,拖动速度) |
命令参数: | 参数1:必选,字符串型,节点信息 参数2:必选,数值型,拖动的终点X 参数3:必选,数值型,拖动的终点Y 参数4:可选,数值型,拖动速度,取值越大速度越快,忽略则默认常速,建议取值300-1000 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" TracePrint JsDroid.Drag("By.text('雷电游戏中心')",300,500,500) |
备注: | 无。 |
命令名称: | JsDroid.FindImg 缩放找图 |
---|---|
语法格式: | JsDroid.FindImg(图片路径,左上角X,左上角Y,右下角X,右下角Y,偏色,相似度) |
命令参数: | 参数1:字符串型,图片路径,不支持附件 参数2:数值型,查找范围左上角X 参数3:数值型,查找范围左上角Y 参数4:数值型,查找范围右下角X 参数5:数值型,查找范围右下角X 参数6:字符串型,偏色 参数7:数值型,相似度,取值0.1-1.0 |
返回值: | 数组型:成功返回图片范围,失败返回null。 |
脚本例子: |
复制代码
Import "JsDroid.luae" dim rect rect = JsDroid.FindImg("/sdcard/img.png", 0, 0, 0, 0, "101010", "0.7") If rect Then TracePrint Join(rect,",") Else TracePrint "未找到" End If |
备注: | 无。 |
命令名称: | JsDroid.FindNode 查找节点 |
---|---|
语法格式: | JsDroid.FindNode(节点信息[,指定下标,保存变量,执行超时]) |
命令参数: | 参数1:必选,字符串型,节点信息。 参数2:字符串型,可选,保存变量。 参数3:可选,数值型,节点下标,节点初始下标为0 参数4:可选,数值型,执行超时时间,单位毫秒,默认执行10毫秒。 参数2,3,4不区分顺序 |
返回值: | 布尔值,成功返回true,失败返回null。 |
脚本例子: |
复制代码
Import "JsDroid.luae" //语法1,不再二次利用 TracePrint JsDroid.FindNode("By.text('雷电游戏中心')") TracePrint JsDroid.FindNode("By.text('雷电游戏中心')",5000)//限时查找 TracePrint JsDroid.FindNode("By.clazz('android.widget.TextView')",3)//下标查找 //语法2 Dim Ret,Info() Ret = JsDroid.FindNode("By.text('雷电游戏中心')","node") If Ret Then Info = JsDroid.GetNodeInfo("node") TracePrint Info[1]//text或desc文本内容 TracePrint Info[2][1],Info[2][2]//中心坐标 TracePrint Info[3][1],Info[3][2],Info[3][3],Info[3][4]//节点范围 End If |
备注: | 无。 |
命令名称: | JsDroid.FindNodeS 查找所有符合条件的节点信息 |
---|---|
语法格式: | JsDroid.FindNodeS(节点信息,保存变量) |
命令参数: | 参数1:字符串型,节点信息 参数2:字符串型,保存变量 |
返回值: | 布尔值:成功返回true,失败返回false。 |
脚本例子: |
复制代码
Import "JsDroid.luae" //例子,与GetNodeInfoAll命令相结合使用 Dim Ret,Info() Ret = JsDroid.FindNodeS("By.clazz('android.widget.TextView')","node") If Ret Then /* Info是数组表 Info[1]数组下的元素是text或desc内容 Info[2]数组下的元素是节点中心点坐标 Info[3]数组下的元素是节点所在的范围 */ Info = JsDroid.GetNodeInfoAll("node") For i = 1 To UBOUND(Info[1]) + 1 TracePrint "----------------------------------------------------" TracePrint "节点内容",Info[1][i] TracePrint "节点中心坐标X",Info[2][i][1],"节点中心坐标Y",Info[2][i][2] TracePrint "节点左上角X",Info[3][i][1],"节点左上角Y",Info[3][i][2],"节点右下角X",Info[3][i][3],"节点右下角Y",Info[3][i][4] Next End If |
备注: | 无。 |
命令名称: | JsDroid.GetOcr ocr识别 |
---|---|
语法格式: | JsDroid.GetOcr([图片路径],[左上角X,左上角Y,右下角X,右下角Y]) |
命令参数: | 参数:图片路径或识别范围,二选一 图片路径:字符串型 识别范围:数值型,100,120,240,200 图片范围不能太小,不支持 0,0,0,0格式,貌似不支持正方形,只支持物理路径,不支持附件图片 |
返回值: | 字符串型:识别结果。 |
脚本例子: |
复制代码
Import "JsDroid.luae" //语法1 Dim Ret Ret = JsDroid.GetOcr("/sdcard/123.png") TracePrint Ret //语法2 Ret = JsDroid.GetOcr(100,120,240,200) TracePrint Ret |
备注: | 无。 |
命令名称: | JsDroid.GetNodeInfoAll 获取所有符合条件的节点信息 |
---|---|
语法格式: | JsDroid.GetNodeInfoAll(节点信息) |
命令参数: | 参数1:字符串型,节点信息或FindNodeS的保存变量 |
返回值: | table表:成功返回表,失败返回null。 |
脚本例子: |
复制代码
Import "JsDroid.luae" /* Info是数组表 Info[1]数组下的元素是text或desc内容 Info[2]数组下的元素是节点中心点坐标 Info[3]数组下的元素是节点所在的矩形范围 */ Dim Info() Info = JsDroid.GetNodeInfoAll("By.clazz('android.widget.TextView')") If Info Then For i = 1 To UBOUND(Info[1]) + 1 TracePrint "----------------------------------------------------" TracePrint "节点text内容",Info[1][i]//节点text内容 TracePrint "节点中心坐标X",Info[2][i][1],"节点中心坐标Y",Info[2][i][2] TracePrint "节点左上角X",Info[3][i][1],"节点左上角Y",Info[3][i][2],"节点右下角X",Info[3][i][3],"节点右下角Y",Info[3][i][4] Next End If |
备注: | 无。 |
命令名称: | JsDroid.GetNodeInfo 获取符合条件的节点信息 |
---|---|
语法格式: | JsDroid.GetNodeInfo(节点信息) |
命令参数: | 参数1:字符串型,节点信息 |
返回值: | table表:成功返回表,失败返回null。 |
脚本例子: |
复制代码
Import "JsDroid.luae" Dim Info() Info = JsDroid.GetNodeInfo("By.clazz('android.widget.TextView')") If Info Then TracePrint "节点text或desc内容",Info[1] TracePrint "节点中心点X",Info[2][1],"节点中心点Y",Info[2][2] TracePrint "节点左上角X",Info[3][1],"节点左上角Y",Info[3][2],"节点右下角X",Info[3][3],"节点右下角Y",Info[3][4] End If |
备注: | 无。 |
命令名称: | JsDroid.Swipe 多点滑动 |
---|---|
语法格式: | JsDroid.Swipe(100, 100, 200, 200, 300, 300, 400, 400, 500, 500, 50) |
命令参数: | 参数格式1:数值型,x1,y1,x2,y2[,x3,y3,x4,y4,x5,y5…],step,坐标越多,轨迹越明显 参数格式2:数组型,Array(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5[,step]),最少四个元素,支持传入step 参数格式3:数组+step,Array(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5)[,step] step:可选,数值型,数字越大,滑动越慢 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" //调试时建议开启指针 JsDroid.Swipe (100, 100, 200, 200, 300, 300, 400, 400, 500, 500, 10) |
备注: | 无。 |
命令名称: | JsDroid.Include 加载脚本文件(命令库路径) |
---|---|
语法格式: | JsDroid.Include([js文件路径][url链接]) |
命令参数: | 字符串型:文件路径或者http链接。 |
返回值: | 字符串型:成功返回”undefined”,失败返回”include err”。 |
脚本例子: |
复制代码
Import "JsDroid.luae" //可以自主写一些js函数命令库导入,通过JsDroid.Code 调用 JsDroid.Include("/data/local/tmp/JsAndroid.js") |
备注: | 无。 |
命令名称: | JsDroid.OpenwebMode 网页增强 |
---|---|
语法格式: | JsDroid.OpenwebMode() |
命令参数: | 无。 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" JsDroid.OpenwebMode |
备注: | 浏览器和某些APP无法获取节点和XML,需要开启网页增强。 |
命令名称: | JsDroid.RegExA 返回正则匹配格式By字符串A |
---|---|
语法格式: | JsDroid.RegExA(正则匹配节点信息,指定位置) |
命令参数: | 参数1:字符串型,节点信息,正则模式。 参数2:数值型,需要正则的参数位置,允许多个位置,不需要排序。 需要注意的是反斜杠”\”,在按键中是转义的意思,在插件中也是一样 匹配一个数字的正确格式:”\\\\d”,由按键转义后传入后的结果是”\\d” |
返回值: | 字符串型,正则替换后的新节点信息格式。 |
正则模式: | 正则模式详解链接 https://blog.csdn.net/woniu317/article/details/52186694
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[\t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
匹配中文:[\u4e00-\u9fa5]
\p{Lower} 小写字母字符:[a-z]
\p{Upper} 大写字母字符:[A-Z]
X? X,一次或一次也没有 |
脚本例子: |
复制代码
Import "JsDroid.luae" Dim By By = JsDroid.RegExA ("By.text('按键精灵').clazz('android.widget.TextView')",1) TracePrint By By = JsDroid.RegExA ("By.text('按键精灵').clazz('android.widget.TextView')",2) TracePrint By By = JsDroid.RegExA ("By.text('按键精灵').clazz('android.widget.TextView')",2,1) TracePrint By TracePrint JsDroid.Click (By) |
备注: | 无。 |
命令名称: | JsDroid.RegExB 返回正则匹配格式By字符串B |
---|---|
语法格式: | JsDroid.RegExB(正则匹配节点信息) |
命令参数: | 参数1:字符串型,节点信息,正则模式,指定格式”By.text(r:'[0-9]{2}/[0-9]{1}/[0-9]{1,2}.*-x’)” 单引号内为模式,r:为指定格式内容,表示这是需要正则的参数。 |
返回值: | 字符串型,正则替换后的新节点信息格式。 |
脚本例子: |
复制代码
Import "JsDroid.luae" Dim By By = JsDroid.RegexB("By.text(r:'[0-9]{2}/[0-9]{1}/[0-9]{1,2}.*-x')") TracePrint By TracePrint JsDroid.Click (By) |
备注: | 无。 |
命令名称: | JsDroid.StartServer 启动服务 |
---|---|
语法格式: | JsDroid.StartServer([true]) |
命令参数: | 参数1:可选,布尔值,是否初始化,true则停止服务/刷新所有文件/启动服务。 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" If JsDroid.StartServer() Then TracePrint "启动成功" Else TracePrint "启动失败" EndScript End If |
备注: | 无。 |
命令名称: | JsDroid.Quit 退出服务 |
---|---|
语法格式: | JsDroid.Quit() |
命令参数: | 参数:无。 |
返回值: | 无。 |
脚本例子: |
复制代码
//停止事件,调试勿用,仅供打包 Sub OnScriptExit() Delly 2000 - Tickcount() JsDroid.Quit() End Sub |
备注: | 无。 |
命令名称: | JsDroid.Exec 执行shell命令 |
---|---|
语法格式: | JsDroid.Exec(shell命令) |
网页文档链接: | adb shell常用命令地址:https://blog.csdn.net/offbye/article/details/53414480 adb shell详细文档地址:https://github.com/mzlogin/awesome-adb |
命令参数: | 参数:字符串型,shell 命令。 |
返回值: | 字符串型。 |
脚本例子: |
复制代码
Import "JsDroid.luae" //查看第三方包名 Dim PkgArr = Split(JsDroid.Exec("pm list packages -3"),"\n") For Each v In PkgArr TracePrint v Next |
备注: | 无。 |
命令名称: | JsDroid.SetConfig 插件设置(是否初始化启动服务,是否显示调试输出,插件二次调用延时) |
---|---|
语法格式: | JsDroid.SetConfig(是否初始化启动服务,是否显示调试输出,插件二次调用延时) |
命令参数: | 参数1:布尔值型,必选,是否开启服务启动初始化。 参数2:布尔值型,可选,是否开启插件调试信息,true为开启。 参数3:数值型,可选,单位毫秒,是否对插件二次调用进行延时。 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" JsDroid.SetConfig False, False,200 |
备注: | Code已默认开启url编码。 |
命令名称: | JsDroid.Tap 点击坐标[非按键Tap原理] |
---|---|
语法格式: | JsDroid.Tap(x,y) |
命令参数: | 参数1:整数型,JsDroid插件命令获取到的节点中心点x坐标。 参数2:整数型,JsDroid插件命令获取到的节点中心点y坐标。 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" Dim Info = JsDroid.GetNodeInfo ("By.text('按键精灵')") If Info Then JsDroid.Tap Info[2][1],Info[2][2] End If |
备注: | 竖屏时与按键坐标无差异,横屏时,必须使用JsDroid插件命令获取的xy坐标。 |
命令名称: | JsDroid.Print 输出信息并打印到屏幕右上角 |
---|---|
语法格式: | JsDroid.Print(内容) |
命令参数: | 参数1:整数型或字符串或布尔值。 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" JsDroid.Print "欢迎使用JsDroid安卓自动化" Delay 3000 |
备注: | 无。 |
命令名称: | JsDroid.ScrollToBottom |
脚本例子: |
复制代码
|
备注: | 无。 |
命令名称: | JsDroid.ScrollToTop |
脚本例子: |
复制代码
|
备注: | 无。 |
命令名称: | JsDroid.WaitDisappear 等待节点消失 |
语法格式: | JsDroid.WaitDisappear(by,时长) |
命令参数: | 参数1:字符串型,节点信息。 参数2:整数型,等待时长,单位毫秒 |
返回值: | 布尔值:节点消失返回true,否则返回false。 |
脚本例子: |
复制代码
Import "JsDroid.luae" If JsDroid.WaitDisappear("By.text('按键精灵')",5000) Then TracePrint "节点消失了" Else TracePrint "节点存在" End If |
备注: | 无。 |
命令名称: | JsDroid.FindNodeInfo 查找节点并获取节点信息 |
语法格式: | JsDroid.FindNodeInfo(by[,获取属性,节点下标,获取时长,数组变量]) |
命令参数: | 参数1:字符串型,必选,节点信息,节点存在返回true,不存在返回null。 参数:节点下标,可选,整数型,忽略则默认查找第一个节点,节点存在返回true,不存在返回null 参数:查找限时,可选,整数型,忽略则默认查找一次,节点存在返回true,不存在返回null,不得低于500毫秒 参数:返回信息,可选,字符串型或略则返回值为true或null 格式:’text’,获取节点text,返回值,字符串,节点不存在返回null 格式:’desc’,获取节点desc,返回值,字符串,节点不存在返回null 格式:’point’,获取节点中心点,返回值,数组,节点不存在返回null 格式:’rect’,获取节点矩形范围,返回值,数组,节点不存在返回null 格式:’res’,获取节点res信息,返回值,字符串,节点不存在返回null 格式:’allText’,获取节点所有文字,返回值,字符串,节点不存在返回null 格式:’clazz’,获取节点类名,返回值,字符串,节点不存在返回null 格式:任意字符串,比如”abc”,则获取节点的text,desc,point,rect信息,节点存在返回二维table,不存在返回null 返回格式:Tab[“text”],Tab[“desc”],Tab[“point”][1],Tab[“point”][2],Tab[“rect”][1],Tab[“rect”][2],Tab[“rect”][3],Tab[“rect”][4] 参数:数组型,返回变量,将获取的结果存到传入的数组中,此时插件命令返回true或null |
返回值: | 失败返回null,成功返回布尔值true,字符串,数组,表,具体返回结果看参数解释。 |
脚本例子: |
复制代码
Import "JsDroid.luae" //JsDroid.FindNodeInfo的多种使用方法 Dim Tab() //查找节点 TracePrint JsDroid.FindNodeInfo("By.text('按键精灵')")//返回true或null Delay 500 //查找下标1的节点 TracePrint JsDroid.FindNodeInfo("By.text('按键精灵')",1)//返回true或null Delay 500 //获取节点范围 Tab = JsDroid.FindNodeInfo("By.text('按键精灵')","'rect'")//返回数组或null If Tab Then TracePrint "节点矩形范围",Tab[1],Tab[2],Tab[3],Tab[4] End If Delay 500 //获取节点text TracePrint JsDroid.FindNodeInfo("By.text('按键精灵')","'text'")//返回字符串或null Delay 500 //获取节点desc TracePrint JsDroid.FindNodeInfo("By.text('按键精灵')","'desc'")//返回字符串或null,节点desc信息 Delay 500 //获取节点中心点 Tab = JsDroid.FindNodeInfo("By.text('按键精灵')","'point'")//返回数组或null,节点中心xy坐标 If Tab Then TracePrint "节点中心点x y坐标:",Tab[1],Tab[2] End If Delay 500 //获取节点所有信息(text,desc,中心点坐标,节点范围) Tab = JsDroid.FindNodeInfo("By.text('按键精灵')","'abc'")//返回二维table或null,参数为任意字符串,获取节点所有信息 If Tab Then TracePrint "节点中心点x y坐标:",Tab["point"][1],Tab["point"][2] TracePrint "节点text:",Tab["text"] TracePrint"节点desc:",Tab["desc"] TracePrint "节点矩形范围",Tab["rect"][1],Tab["rect"][2],Tab["rect"][3],Tab["rect"][4] End If Delay 500 //获取下标2的节点所有信息(text,desc,中心点坐标,节点范围) Tab = JsDroid.FindNodeInfo("By.clazz('android.widget.TextView')","'abc'",2)//返回二维table或null If Tab Then TracePrint "节点中心点x:",Tab["point"][1],Tab["point"][2] TracePrint "节点text:",Tab["text"] TracePrint"节点desc:",Tab["desc"] TracePrint "节点矩形范围",Tab["rect"][1],Tab["rect"][2],Tab["rect"][3],Tab["rect"][4] End If Delay 500 //获取下标2的节点的所在范围 Tab = JsDroid.FindNodeInfo("By.clazz('android.widget.TextView')",2,"'rect'")//返回table表或null If Tab Then TracePrint "节点矩形范围",Tab[1],Tab[2],Tab[3],Tab[4] End If Delay 500 //查找下标5的节点 TracePrint JsDroid.FindNodeInfo("By.clazz('android.widget.TextView')",5)//返回true或null Delay 500 //结合JsDroid.FindNodes使用 If JsDroid.FindNodes("By.clazz('android.widget.TextView')", "node") Then TracePrint JsDroid.FindNodeInfo("node",5,"text")//返回true或null,取下标5 End If //结合JsDroid.FindNode使用 If JsDroid.FindNode("By.clazz('android.widget.TextView')", "node") Then TracePrint JsDroid.FindNodeInfo("node","text")//返回true或null,JsDroid.FindNode查找的是首个节点,所以没有下标 End If //查找并点击 If JsDroid.FindNodeInfo("By.text('按键精灵')", "point", Tab) Then TracePrint "节点中心点坐标xy",Tab[1],Tab[2] JsDroid.Tap Tab[1],Tab[2] End If //查找并获取范围 If JsDroid.FindNodeInfo("By.text('按键精灵')", "rect", Tab) Then TracePrint "节点矩形范围",Tab[1],Tab[2],Tab[3],Tab[4] End If //查找并返回所有信息 If JsDroid.FindNodeInfo("By.text('按键精灵')", "rect", Tab) Then TracePrint "text内容",Tab["text"] TracePrint "desc内容",Tab["desc"] TracePrint "节点中心点",Tab["point"][1],Tab["point"][2] TracePrint "节点矩形范围",Tab["rect"][1],Tab["rect"][2],Tab["rect"][3],Tab["rect"][4] End If |
备注: | 无。 |
命令名称: | JsDroid.GetChild 获取子节点集合 |
语法格式: | JsDroid.GetChild(节点信息,保存变量[,指定下标]) |
命令参数: | 参数1:字符串型,By信息或者FindNode和FindNodes的查找结果变量 参数2:字符串型,获取到的集合保存变量 参数3:数值型,可选,指定下标 |
返回值: | 布尔值,成功返回true,失败返回false。 |
脚本例子: |
复制代码
Import "JsDroid.luae" //雷电游戏中心的主页面 If JsDroid.GetChild("By.res('com.android.flysilkworm:id/main_tab_radio_group').clazz('android.widget.RadioGroup')", "node") Then Dim size = JsDroid.GetNodeSize("node") TracePrint "子节点集合数量",size For i = 0 To size - 1 TracePrint "节点下标",i,"text内容",JsDroid.FindNodeInfo("node",i,"text") Next End If |
备注: | 无。 |
命令名称: | JsDroid.GetNodeSize 获取节点集合数量(节点集合变量) |
---|---|
语法格式: | JsDroid.GetNodeSize(节点集合变量) |
命令参数: | 参数1:字符串型,节点集合变量,可以是FindNodes的保存变量 |
返回值: | 整数型,成功返回数量,失败返回-1。 |
脚本例子: |
复制代码
Import "JsDroid.luae" If JsDroid.FindNodes("By.clazz('android.widget.TextView')","node") Then TracePrint "节点集合数量",JsDroid.GetNodeSize("node") End If |
备注: | 无。 |
命令名称: | JsDroid.GetParent 获取父节点 |
语法格式: | JsDroid.GetParent(节点信息,父节点保存变量[,指定下标]) |
命令参数: | 参数1:字符串型,必选,节点信息。 参数2:字符串型,必选,保存变量。 参数3:可选,数值型,节点下标,节点初始下标为0 |
返回值: | 布尔值,成功返回true,失败返回null。 |
脚本例子: |
复制代码
Import "JsDroid.luae" //雷电游戏中心的主页面,获取推荐的父节点 If JsDroid.GetParent("By.text('推荐')","node") Then Dim Info = JsDroid.FindNodeInfo("node","rect") If Info Then TracePrint "节点矩形范围",Join(Info,",") End If End If |
备注: | 无。 |
命令名称: | JsDroid.QRcodeUrl 解析二维码为url |
语法格式: | JsDroid.QRcodeUrl(二维码图片路径) |
命令参数: | 参数1:字符串型,二维码图片路径,不支持附件 |
返回值: | 字符串型,url链接,失败返回空或其他。 |
脚本例子: |
复制代码
Import "JsDroid.luae" TracePrint JsDroid.QRcodeUrl("/sdcard/二维码.png") |
备注: | 不支持附件路径。 |
命令名称: | JsDroid.Restart 重启自动化服务 |
语法格式: | JsDroid.Restart() |
命令参数: | 参数:无 |
返回值: | 布尔值,成功返回true,失败返回false。 |
脚本例子: |
复制代码
Import "JsDroid.luae" If JsDroid.Restart() Then TracePrint "自动化服务重启成功" Else TracePrint "自动化服务重启失败" End If |
备注: | 无。 |
命令名称: | JsDroid.EditClear 清空输入框内容 |
语法格式: | JsDroid.EditClear() |
命令参数: | 参数:无 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" JsDroid.EditClear |
备注: | 无。 |
命令名称: | JsDroid.EditPaste 粘贴剪切板内容 |
语法格式: | JsDroid.EditPaste() |
命令参数: | 参数:无 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" JsDroid.EditPaste |
备注: | 无。 |
命令名称: | JsDroid.EditCopy 复制输入框内容 |
语法格式: | JsDroid.EditCopy() |
命令参数: | 参数:无 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" JsDroid.EditCopy |
备注: | 无。 |
命令名称: | JsDroid.CopyText 复制已选中内容 |
语法格式: | JsDroid.CopyText() |
命令参数: | 参数:无 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" JsDroid.CopyText |
备注: | 无。 |
命令名称: | JsDroid.Testing 检测加载指定文件是否成功 |
语法格式: | JsDroid.Testing() |
命令参数: | 参数:无 |
返回值: | 无。 |
脚本例子: |
复制代码
Import "JsDroid.luae" If JsDroid.Testing() Then TracePrint "加载指定js文件成功" Else TracePrint "加载指定js文件失败" End If |
备注: | 无。 |
命令名称: | JsDroid.SeachNode 结果集中查找指定节点 |
语法格式: | JsDroid.SeachNode(保存变量结果,要查找的节点信息) |
命令参数: | 参数1:必选,字符串型,保存变量结果 如果传入的是单个节点的变量结果,返回值为true或false 如果传入的是多个变量的变量结果,返回值是数值型或者false 参数2:必选,字符串型,By信息 |
返回值: | 失败返回false,成功返回true或数值,具体类型看参数说明。 |
脚本例子: |
复制代码
Import "JsDroid.luae" JsDroid.SetConfig False, True Dim num If JsDroid.FindNodeS("By.clazz('android.widget.TextView')", "nodes") Then num = JsDroid.SeachNode("nodes", "By.text('按键精灵')") If num Then TracePrint "指定节点所在下标", num Else TracePrint "指定节点不存在" End If End If If JsDroid.FindNode("By.clazz('android.widget.TextView')", "node") Then TracePrint "指定节点是否存在" ,JsDroid.SeachNode("node", "By.text('按键精灵')") End If |
备注: | 无。 |
命令名称: | JsDroid.GetChildEx 获取多层子节点 |
语法格式: | JsDroid.GetChildEx(By信息,保存变量[,指定下标][,下标组合表]) |
命令参数: | 参数1:字符串型,必选,By信息 参数2:字符串型,必选,执行后的保存变量 参数3:数值型,指定下标,忽略则默认为0 参数4:数组型,遍历子节点层数 格式:{0,0,0},获取当前节点的子节点集合的下标0的子节点集合的下标0的子节点集合的下标0的子节点集合 |
返回值: | 布尔值,成功返回true,失败返回false。 |
脚本例子: |
复制代码
Import "JsDroid.luae" If JsDroid.GetParentEx("By.text('按键精灵')", "node", 0, 4) Then //获取按键精灵4层父节点 TracePrint Join(JsDroid.FindNodeInfo("node","rect"),",") If JsDroid.GetChildEx("node", "node", 0, {0, 0, 0}) Then //获取节点4层子节点 TracePrint "节点集合数量",JsDroid.GetNodeSize("node") End If For i = 0 To JsDroid.GetNodeSize("node")-1 TracePrint JsDroid.FindNodeInfo("node",i,"desc") Next End If |
备注: | 无。 |
命令名称: | JsDroid.GetParentEx 获取多层父节点 |
语法格式: | JsDroid.GetParentEx(By信息,保存变量[,指定下标][获取层数]) |
命令参数: | 参数1:字符串型,必选,By信息 参数2:字符串型,必选,执行后的保存变量 参数3:数值型,指定下标,忽略则默认为0 参数4:数值型,获取父节点层数,默认获取1层 |
返回值: | 布尔值,成功返回true,失败返回false。 |
脚本例子: |
复制代码
Import "JsDroid.luae" If JsDroid.GetParentEx("By.text('按键精灵')", "node", 0, 4) Then //获取按键精灵4层父节点 TracePrint Join(JsDroid.FindNodeInfo("node","rect"),",") End If |
备注: | 无。 |
命令名称: | JsDroid.ClearText 清空节点输入框文字 |
语法格式: | JsDroid.ClearText(By信息[,指定下标]) |
命令参数: | 参数1:字符串型,必选,By信息 参数2:数值型,指定下标,忽略则默认为0 |
返回值: | 布尔值,成功返回true,失败返回false。 |
脚本例子: |
复制代码
Import "JsDroid.luae" TracePrint JsDroid.ClearText("By.res('com.android.flysilkworm:id/search_edit')") |
备注: | 仅支持5.0.x以上系统版本。 |
命令名称: | JsDroid.SetText 设置节点输入框文字 |
语法格式: | JsDroid.SetText(By信息,设置内容[,指定下标]) |
命令参数: | 参数1:字符串型,必选,By信息 参数2:字符串型,必选,需要设置的内容 参数3:数值型,指定下标,忽略则默认为0 |
返回值: | 布尔值,成功返回true,失败返回false。 |
脚本例子: |
复制代码
Import "JsDroid.luae" TracePrint JsDroid.SetText("By.res('com.android.flysilkworm:id/search_edit')","欢迎使用JsDroid") |
备注: | 仅支持5.0.x以上系统版本。 |
命令名称: | JsDroid.LongClick 长按节点 |
语法格式: | JsDroid.LongClick(By信息[,指定下标]) |
命令参数: | 参数1:字符串型,必选,By信息 参数2:数值型,指定下标,忽略则默认为0 |
返回值: | 布尔值,成功返回true,失败返回false。 |
脚本例子: |
复制代码
Import "JsDroid.luae" TracePrint JsDroid.LongClick("By.res('com.android.flysilkworm:id/search_edit')") |
备注: | 无。 |
命令名称: | JsDroid.IsChecked 多选框是否已被选中 |
语法格式: | JsDroid.IsChecked(节点信息) |
命令参数: | 参数1:字符串型,节点信息 |
返回值: | 布尔值,已被选中返回true,其他情况返回false。 |
脚本例子: |
复制代码
Import "JsDroid.luae" Dim By = "By.clazz('android.widget.CheckBox')" If JsDroid.FindNode(By) Then If JsDroid.IsChecked(By) Then TracePrint "节点已被选中" Else TracePrint "节点未被选中或不可被选中" End If Else TracePrint "节点不存在" End If |
备注: | 经测试,仅支持clazz属性为’android.widget.CheckBox’时生效。 |
命令名称: | JsDroid.GetChildCount 获取子节点数量 |
语法格式: | JsDroid.GetChildCount(By信息[,指定下标]) |
命令参数: | 参数1:字符串型,必选,By信息 参数2:数值型,指定下标,忽略则默认为0 |
返回值: | 数值型,存在子节点返回子节点数量,节点不存在或子节点不存在返回-1。 |
脚本例子: |
复制代码
Import "JsDroid.luae" Dim Num Num = JsDroid.GetChildCount("By.clazz('android.widget.FrameLayout')") If Num > -1 Then TracePrint "子节点数量",Num Else TracePrint "当前节点不存在或没有子节点" End If |
备注: | 无。 |
命令名称: | JsDroid.GetUIXml 获取界面XML信息 |
语法格式: | JsDroid.GetUIXml() |
命令参数: | 参数:无 |
返回值: | 字符串型,失败返回空字符。 |
脚本例子: |
复制代码
Import "JsDroid.luae" If JsDroid.StartServer() Then TracePrint "启动成功" Else TracePrint "启动失败" EndScript End If Dim t = TickCount() Dim XML信息 = JsDroid.GetUIXml() TracePrint XML信息 TracePrint "获取XML信息耗时",TickCount()-t,"毫秒" |
备注: | 类似于shanhai.GetUIXML,但此功能获取速度极快。 |
- 上一篇: 按键精灵手机助手常用插件下载
- 下一篇: 紫猫插件手机版帮助文档