按键精灵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

相关推荐
2501_9160074720 小时前
前端开发常用软件与工具全面指南
android·ios·小程序·https·uni-app·iphone·webview
sweet丶1 天前
iOS AI 编程环境配置:Agent、Skill、Rules、Hook、Command
ios·ai编程
2501_915909061 天前
iOS应用性能优化:十大策略提升用户体验与开发效率
android·ios·小程序·https·uni-app·iphone·webview
白玉cfc1 天前
【iOS】底层原理:分类、扩展和关联对象
ios·分类·数据挖掘
2601_955767421 天前
观复盾护景贴:东方哲思与双护科技的深度实测
人工智能·科技·ios·iphone·圆偏振光·磁控溅射
会Tk矩阵群控的小木1 天前
企业级iMessage群发系统实战:单主机管控多iPhone设备完整实现
运维·ios·开源软件·个人开发
人月神话-Lee1 天前
【图像处理】vImage/Accelerate——SIMD 让 CPU 也能飞
图像处理·深度学习·ios·cnn·ai编程·swift
万能小林子1 天前
如何将网页在线转APP?5种打包工具对比速成指南(含在线/手机/电脑方案)
android·ios·uni-app·web app·wap2app·app打包·app封装
2601_955767421 天前
iPhone 17屏幕反光怎么解?磁控溅射AR膜实测反射率低至0.5%
ios·ar·iphone·#观复盾护景贴·scinique双护技术
盼小辉丶1 天前
PyTorch深度学习实战(56)——在iOS上构建PyTorch应用
pytorch·深度学习·ios