那么怎么解决呢?
读取脚本自己生成的界面配置文件,当我们点击界面下方的保存按钮,在手机(模拟器)生成配置文件 。

文章插图
配置文件中保存我们想要的界面元素名称 。
{"下拉框1":0,"多选框1":true,"输入框1":"你好"}分析到这里,我们串联一下界面源码、界面展示内容、界面配置文件三者之间的关系,下面以输入框为例~
【节奏大师脚本怎么写 节奏大师按键精灵脚本】

文章插图
通过上图可以看到,界面上的元素名称,除了源码中有,在配置文件里面也有,那么这就为我们解决获取界面元素名称问题提供了一个新的思路,读取配置文件里面元素名称 。
第一步:使用文本读取命令file.read,读取配置文件的内容,得到键值对的表 。
第二步:对于一个键值对的表,想要获取它的键名,最简单的方法就是遍历数组了 。
For Each k , v In table//table是键值对//k是键值(key)//v是键值(value)Next第三步:获取到键名也就是元素名称,还有一个问题就是,怎么区分元素的类型 。
通常来说,界面元素默认的命名方式是元素类型+编号:
输入框1、输入框2、输入框3…多选框1、多选框2、多选框3…下拉框1、下拉框2、下拉框3…如果大家都本本分分的使用这个默认名称,那也还好,但是往往大家为了能够区分每个元素的作用,会给它们修改名称 。
这样一来就出问题了,当我们通过读取配置文件获取到一个元素名称,然后下一步就没法通过名称命名判断元素的类型了,到底是输入框、多选框还是下拉框 。
解决这个问题我提供了另外一个思路:判断键值的类型 。
读取输入框我们获取到内容是字符串类型,读取多选框我们获取的true和false的布尔值类型,读取下拉框我们获取到的是01234的数值类型 。
每一个界面元素的值都有自己不同的类型,根据键值类型反推元素类型,这个确实是一个可行的思路 。
当然到这里我还是有一点担忧,因为我担心界面代码区不支持山海插件的tpye命令,那么就无法获取到数据类型了,好在测试了一下可以支持 。
import "shanhai.lua"Function 响应事件()Dim v=123showmessage shanhai.type(v)End Function新建一个界面加上一个按钮的点击响应事件函数,测试即可 。
介绍3类返回值的写法:
字符串:string数值:number布尔值:Boolean到这一步我们可以把名称及对应的类型获取到了,那么就差最后一步写入配置了 。
③把界面上的内容存储起来 。
之前的步骤已经可以把所有的元素名称及类型获取到了,之后我就可以用
uip.GetAttribute 命令把界面所有内容都获取一遍,并以键值对的形式存入到一个新的文件中 。
这个文件的后缀可以是txt文本,cfg配置文件,甚至不写后缀都行 。
文件的路径,如果是手机那就无所谓了,如果是模拟器想要实现多个模拟器共享配置文件就需要注意,必须放在共享文件夹里面,如果不想共享配置文件,就需要放到其他非共享文件夹里面 。
当然不共享还有一个方法,就是文件名用imsi,imei之类的参数值,这样每个设备也不一样,即使放到共享文件夹里面配置文件也不共享的 。
- 犯罪大师最后的线索正确答案 犯罪大师天纹缠答案凶手是谁
- 茂名最出名的风水大师
- 李嘉诚说女人是家里的风水 李嘉诚背后的风水大师
- 武器大师纪录片 wuqidashi
- 王者 辅助工具 王者荣耀脚本辅助器
- 反恐行动脚本 反恐行动辅助吧
- 画蛇添足文言文道理是什么 画蛇添足文言文划分节奏
- 清远最好风水大师 清远市南胜村风水
- 张铭恩的微博超话 张铭恩朋友圈管理大师
- 台山风水先生 台山哪里有风水大师
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
