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

相关推荐
阿祖zu7 小时前
芝士就是力量!开源私有化部署与 GitHub 双向同步的个人知识笔记 App
前端·后端·ios
GitLqr13 小时前
iOS 27 强制要求 UISceneDelegate:UIKit 和 Flutter 开发者该如何应对?
flutter·ios·全栈
屑曦晨16 小时前
PKToolPicker工具栏图标错误模糊问题排查报告
ios
2501_9159214317 小时前
详细解析,iOS 应用上架 App Store 的完整流程与指南
android·ios·小程序·https·uni-app·iphone·webview
2501_9151063217 小时前
SwiftUI项目创建详解:使用Xcode从零开始创建第一个App项目
ide·vscode·ios·swiftui·个人开发·xcode·敏捷流程
2501_9159184117 小时前
Xcode调试iOS应用内存管理与优化,识别泄漏与性能监控指南
android·ios·小程序·uni-app·cocoa·iphone·xcode
97650333519 小时前
iOS 上架/审核 4.3a Cocos 2026最新方案解读
flutter·ios·swift·cocos2d·ios开发
2501_9160074719 小时前
IDE 是什么?集成开发环境详解与 iOS 开发选型指南
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
梦想的颜色19 小时前
UniApp 四端对齐实战:iOS App / Android App / 小程序 / H5 兼容坑点与完整解决方案|AI 辅助多端落地
android·ios·小程序·uni‑app·uniapp 四端适配·多端兼容·ai 生成 uni‑app
CocoaKier1 天前
喜大普奔!2027年春季起,iOS提审最低支持iOS15.0以上
ios·apple