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

元素节点功能(iOSElement)​

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

下面介绍下5个函数信息:iOSElement.FindParent、iOSElement.FindSibling、iOSElement.SetText、iOSElement.Click、iOSElement.ScrollToOffset

函数名称

iOSElement.FindParent 获取指定元素的父元素

功能

获取指定元素的父元素信息的键值表

语法

result = iOSElement.FindParent(subElement)

代码范例

Dim result, subelement

RunApp "com.apple.Preferences"

Delay 1000

subElement = {"id": "PSTableCell"}

result = iOSElement.Find(subElement)

If result"code" = 0 Then

result = iOSElement.FindParent(result"data")

If result"code" = 0 Then

TracePrint Encode.TableToJson(result"data")

Else

TracePrint result"msg"

End If

Else

TracePrint result"msg"

End If

函数名称

iOSElement.FindSibling 获取指定元素的所有同层级元素

功能

获取指定元素的所有同层级元素信息的键值表

语法

result = iOSElement.FindSibling(element,selector)

代码范例

Dim result, selector

RunApp "com.apple.Preferences"

Delay 1000

selector = {"id": "PSTableCell"}

result = iOSElement.Find(selector)

If result"code" = 0 Then

// 获取当前层级的所有兄弟节点

result = iOSElement.FindSibling(result"data")

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

// 查找指定条件的兄弟节点

result = iOSElement.FindSibling(result"data", {"text":"隐私", "type":"UITableViewLabel"})

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

函数名称

iOSElement.SetText 设置指定输入框元素的内容

功能

设置指定输入框元素的内容,支持完整目标元素节点或者元素查找条件,如查找到多个元素则只操作第一个元素

语法

result = iOSElement.SetText(element, text, isClear)

代码范例

Dim result, selector

RunApp "com.apple.Preferences"

Delay 1000

selector = {"id": "UISearchBarTextField"}

result = iOSElement.Find(selector)

If result"code" = 0 Then

result = iOSElement.SetText(result"data", "通用")

If result"code" = 0 Then

TracePrint "输入成功"

Else

TracePrint result"msg"

End If

Else

TracePrint result"msg"

End If

函数名称

iOSElement.Click 点击指定的元素节点

功能

点击指定的元素节点,支持完整目标元素节点或者元素查找条件,如查找到多个元素则只操作第一个元素

语法

result = iOSElement.Click(element)

代码范例

Dim result, selector

RunApp "com.apple.Preferences"

Delay 1000

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

result = iOSElement.Find(selector)

If result"code" = 0 Then

result = iOSElement.Click(result"data")

If result"code" = 0 Then

TracePrint "点击成功"

Else

TracePrint result"msg"

End If

Else

TracePrint result"msg"

End If

函数名称

iOSElement.ScrollToOffset 将可滚动视图元素滚动到指定的方位

功能

将可滚动视图元素滚动到指定的方位

语法

result = iOSElement.ScrollToOffset(selector,x,y,animated)

代码范例

Dim result, selector

RunApp "com.apple.Preferences"

Delay 1000

selector = {"id": "UITableView"}

result = iOSElement.ScrollToOffset(selector, 0, 1000)

If result"code" = 0 Then

TracePrint "滚动成功"

Else

TracePrint result"msg"

End If

相关推荐
HouWan14 小时前
Swift 6.4 发布:iOS开发者值得关注的新特性
ios·swift·apple
用户380341658829715 小时前
macOS 录屏:ScreenCaptureKit 与 iOS 的分野,共用引擎的抽象层该切在哪
ios·音视频开发
HouWan17 小时前
Flutter iOS UISceneDelegate 迁移指南:理清新的 Scene 生命周期
flutter·ios·app
00后程序员张17 小时前
Xcode vs KXApp,体积差几十G,选轻量方案还是完整工具链?
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_915909061 天前
怎么用 FlutterFlow 把应用发布到 App Store?
android·ios·小程序·https·uni-app·iphone·webview
2501_916008892 天前
全平台抓包工具,Windows、iPhone、Linux三个平台抓包测试
网络协议·计算机网络·网络安全·ios·adb·https·udp
2501_915918412 天前
怎么把 Python 写的 Flet 应用打包成 iOS App 并上架 App Store?
android·ios·小程序·https·uni-app·iphone·webview
李游Leo2 天前
HarmonyOS 7 实战开发 04:适配手机、折叠屏与大屏布局
ios·harmonyos
终端安全笔记2 天前
iOS 27 强制 TLS 1.2:租赁设备的注册链路会在哪一环断
android·网络·安全·ios·智能手机