按键精灵ios脚本新增元素功能助力辅助工具开发(一)

元素节点功能(iOSElement)​

在按键精灵 iOS 新版 APP v2.2.0 中,新增了元素节点功能 iOSElement,该功能包含共 15 个函数。这一功能的出现,为开发者在处理 iOS 应用界面元素时提供了更为精准和高效的方式。通过这些函数,开发者能够更加便捷地定位、操作应用中的各种元素,从而实现更复杂的自动化任务。例如,在自动化测试场景中,可以利用 iOSElement 函数快速找到特定的按钮、文本框等元素,并模拟用户的点击、输入等操作,大大提高测试效率。

下面介绍下5个函数信息:iOSElement.Source、iOSElement.Find、iOSElement.Finds、iOSElement.FindChild、iOSElement.FindChildren

函数名称

iOSElement.Source 获取整个元素节点信息

功能

获取返回包含整个页面元素节点信息的键值表

语法

result = iOSElement.Source()

代码例子:

Dim result

result = iOSElement.Source()

If result["code"] = 0 Then

TracePrint Encode.TableToJson(result["data"])

Else

TracePrint result["msg"]

End If

函数名称

iOSElement.Find 查找并返回第一个符合条件的元素

功能

查找并返回第一个符合条件的元素信息的键值表

语法

result = iOSElement.Find(selector, isRegex)

代码范例

Dim result, selector

RunApp "com.apple.Preferences"

Delay 1000

selector = {"text": "通用"}

result = iOSElement.Find(selector)

If result["code"] = 0 Then

TracePrint Encode.TableToJson(result["data"])

Else

TracePrint result["msg"]

End If

// 使用正则匹配模糊查找

selector = {"text": "通.+"}

result = iOSElement.Find(selector, true)

If result["code"] = 0 Then

TracePrint Encode.TableToJson(result["data"])

Else

TracePrint result["msg"]

End If

函数名称

iOSElement.Finds 查找并返回所有符合条件的元素

功能

查找并返回所有符合条件的元素信息的键值表

语法

result = iOSElement.Finds(selector, isRegex)

代码范例

Dim result, selector

RunApp "com.apple.Preferences"

Delay 1000

selector = {"id": "UITableViewCellContentView"}

result = iOSElement.Finds(selector)

If result["code"] = 0 Then

For i = 1 To Len(result["data"])

TracePrint Encode.TableToJson(result["data"][i])

Next

Else

TracePrint result["msg"]

End If

// 使用正则匹配模糊查找

selector = {"text": "通.+", "id": "UITableViewLabel"}

result = iOSElement.Finds(selector, true)

If result["code"] = 0 Then

For i = 1 To Len(result["data"])

TracePrint result["data"][i]["text"]

Next

Else

TracePrint result["msg"]

End If

函数名称

iOSElement.FindChild 在指定的父元素下查找并返回第一个符合条件的元素

功能

在指定的父元素下查找并返回第一个符合条件的元素信息键值表

语法

result = iOSElement.FindChild(parent, selector, isRegex)

代码范例

Dim result, parent, selector

RunApp "com.apple.Preferences"

Delay 1000

parent = {"id": "UITableViewCellContentView"}

selector = {"id":"UITableViewLabel"}

result = iOSElement.Find(parent)

If result["code"] = 0 Then

result = iOSElement.FindChild(result["data"], selector)

If result["code"] = 0 Then

TracePrint Encode.TableToJson(result["data"])

Else

TracePrint result["msg"]

End If

Else

TracePrint result["msg"]

End If

// 使用正则匹配模糊查找

parent = {"index": 55}

selector = {"text":"[\\u4e00-\\u9fa5]"} '匹配中文

result = iOSElement.Find(parent)

If result["code"] = 0 Then

result = iOSElement.FindChild(result["data"], selector, true)

If result["code"] = 0 Then

TracePrint Encode.TableToJson(result["data"])

Else

TracePrint result["msg"]

End If

Else

TracePrint result["msg"]

End If

函数名称

iOSElement.FindChildren 在指定的父元素下查找并返回所有符合条件的元素

功能

在指定的父元素下查找并返回所有符合条件的元素信息的键值表

语法

result =iOSElement.FindChildren(parent, selector, isRegex)

代码范例

Dim result, parent, selector

RunApp "com.apple.Preferences"

Delay 1000

parent = {"id": "UITableView"}

selector = {"id": "PSTableCell"}

result = iOSElement.Find(parent)

If result["code"] = 0 Then

result = iOSElement.FindChildren(result["data"], selector)

If result["code"] = 0 Then

For i = 1 To Len(result["data"])

TracePrint Encode.TableToJson(result["data"][i])

Next

Else

TracePrint result["msg"]

End If

Else

TracePrint result["msg"]

End If

// 使用正则匹配模糊查找

parent = {"id": "UITableView"}

selector = {"text":"[\\u4e00-\\u9fa5]", "id": "UITableViewLabel"} '匹配中文

result = iOSElement.Find(parent)

If result["code"] = 0 Then

result = iOSElement.FindChildren(result["data"], selector, true)

If result["code"] = 0 Then

For i = 1 To Len(result["data"])

TracePrint result["data"][i]["text"]

Next

Else

TracePrint result["msg"]

End If

Else

TracePrint result["msg"]

End If

相关推荐
Digitally3 小时前
如何将iPhone上的HEIF图像下载到电脑
ios·iphone
书弋江山3 小时前
iOS一直讲的单元格优化
macos·ios·cocoa
00后程序员张6 小时前
tcpdump 抓包分析,命令、过滤技巧、常见症状定位与移动真机补充方案
网络·测试工具·ios·小程序·uni-app·iphone·tcpdump
2501_929382657 小时前
iphone IOS3~IOS9游戏 旧iphone 单机游戏合集分享
游戏·ios·iphone
2501_9159214312 小时前
iOS 26 电耗监测与优化,耗电问题实战 + 多工具 辅助策略
android·macos·ios·小程序·uni-app·cocoa·iphone
2501_9159214312 小时前
苹果软件混淆与 iOS 应用加固白皮书,IPA 文件加密、反编译防护与无源码混淆方案全解析
android·ios·小程序·https·uni-app·iphone·webview
猪哥帅过吴彦祖16 小时前
Flutter 系列教程:列表与网格 - `ListView` 和 `GridView`
前端·flutter·ios
00后程序员张21 小时前
Fiddler抓包工具使用教程,代理设置与调试方法实战解析(含配置技巧)
前端·测试工具·ios·小程序·fiddler·uni-app·webview
Digitally1 天前
如何安全轻松地出售损坏的 iPhone(最新指南)
安全·ios·iphone
怪力左手1 天前
地图下载工具
开发语言·ios·swift