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

相关推荐
90后的晨仔1 小时前
Xcode16报错: SDK does not contain 'libarclite' at the path '/Applicati
ios
finger244801 小时前
谈一谈iOS线程管理
ios·objective-c
Digitally2 小时前
如何将大型视频文件从 iPhone 传输到 PC
ios·iphone
梅名智2 小时前
IOS 蓝牙连接
macos·ios·cocoa
美狐美颜sdk9 小时前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk
恋猫de小郭14 小时前
Meta 宣布加入 Kotlin 基金会,将为 Kotlin 和 Android 生态提供全新支持
android·开发语言·ios·kotlin
泓博15 小时前
Objective-c把字符解析成字典
开发语言·ios·objective-c
Daniel_Coder15 小时前
Xcode 中常用图片格式详解
ios·xcode·swift
瓜子三百克16 小时前
Objective-C 路由表原理详解
开发语言·ios·objective-c
帅次16 小时前
Objective-C面向对象编程:类、对象、方法详解(保姆级教程)
flutter·macos·ios·objective-c·iphone·swift·safari