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

相关推荐
二流小码农10 小时前
鸿蒙开发:实现一个标题栏吸顶
android·ios·harmonyos
season_zhu11 小时前
iOS开发:关于日志框架
ios·架构·swift
Digitally14 小时前
如何在电脑上轻松访问 iPhone 文件
ios·电脑·iphone
安和昂14 小时前
【iOS】YYModel源码解析
ios
pop_xiaoli15 小时前
UI学习—cell的复用和自定义cell
学习·ui·ios
Daniel_Coder17 小时前
Xcode 16.4 + iOS 18 系统运行时崩溃:___cxa_current_primary_exception 符号丢失的原因与解决方案
ios·xcode·ios 18·dyld·libc++abi
烈焰晴天19 小时前
使用ReactNative加载Svga动画支持三端【Android/IOS/Harmony】
android·react native·ios
sg_knight20 小时前
Flutter嵌入式开发实战 ——从树莓派到智能家居控制面板,打造工业级交互终端
android·前端·flutter·ios·智能家居·跨平台
胖虎11 天前
iOS上传应用包错误问题 “Invalid bundle. The “UIInterfaceOrientationPortrait”“
ios·审核·苹果审核·苹果传包
安和昂1 天前
【iOS】ARC 与 Autorelease
macos·ios·cocoa