click点击节点

命令名称: `jsd.Click` 点击节点 语法格式: `jsd.Click(节点信息[,下标,超时时长]) ` 命令参数: 参数1:必选,字符串型,节点信息。 参数2:可选,数值型,节点下标,节点初始下标为0 参数3:可选,数值型,执行超时时间,单位毫秒,默认执行10毫秒。 节点格式: By.text("String") By.text($("正则表达式")) By.textContains("包含的文本") By.textEndsWith("包含文本结尾") By.textStartsWith("包含起始文本") By.clazz("class") By.clazz($("正则表达式")) By.clazz(Object.class) By.clazz("包名package","类名class") By.desc("String") By.desc($("正则表达式")) 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($("正则表达式")) By.res("资源描述") By.res($("正则表达式")) By.res("包名","资源描述") 返回值: 布尔值型:成功返回true,失败返回false。 脚本例子: 复制代码 ```Import "jsd.luae" Import "shanhai.lua" ShanHai.execute "chmod -R 777 " & GetTempDir() If Dir.Exist(GetTempDir() & "jsd.apk") = 0 Then TracePrint "释放附件" PutAttachment GetTempDir(),"jsd.apk" End If //只需执行一次 If jsd.StartServer() Then TracePrint "恭喜你!!可以使用插件" Else TracePrint "很遗憾!!!你无法使用插件" End If //例子1,普通点击 If jsd.Click("By.text('按键精灵')") Then TracePrint "点击成功" Else TracePrint "点击失败" End If //例子2,和FindNode结合 If jsd.FindNode("By.text('按键精灵')","node") Then TracePrint jsd.Click("node") TracePrint "点击成功" Else TracePrint "点击失败" End If //例子3,点击下标7的节点 TracePrint jsd.Click ("By.clazz('android.widget.TextView')", 7) //例子4,点击节点,超时2000毫秒 TracePrint jsd.Click ("By.clazz('android.widget.TextView')", 2000) //例子5,点击节点,与FindNodes结合 If jsd.FindNodes("By.clazz('android.widget.TextView')","nodes") Then TracePrint jsd.Click("nodes",5) TracePrint "点击成功" Else TracePrint "点击失败" End If ``` 备注: `下标值不得大于超时时间。`