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

相关推荐
CocoaKier1 天前
喜大普奔!2027年春季起,iOS提审最低支持iOS15.0以上
ios·apple
初级代码游戏1 天前
iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary
开发语言·ios·swift
凡泰AI1 天前
APP同时覆盖了iOS、安卓和鸿蒙,如何选择混合开发架构才能减少重复建设,提高功能上线效率~
android·ios·harmonyos·mpaas·uni·小程序容器
AIsoft_86882 天前
iPhone录音重点标记:会议录音与重点内容同步保存功能实测
ios·iphone
00后程序员张2 天前
使用Instruments工具深入分析iOS应用性能与启动时间优化
android·macos·ios·小程序·uni-app·cocoa·iphone
90后的晨仔2 天前
Xcode 26.6编译 AFNetworking 报错全解:5 种方案从应急到根治
ios
初级代码游戏2 天前
iOS开发 Swift 速记1:变量和基本数据类型
开发语言·ios·swift
for_ever_love__2 天前
iOS:网络请求再学习
网络·学习·ios·objective-c
2501_915921433 天前
SwiftUI开发框架入门指南:从基础到实战
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_916007473 天前
Python实现HTTPS爬虫的完整指南:使用requests、BeautifulSoup、Selenium和Scrapy
爬虫·python·ios·小程序·https·uni-app·iphone