当前位置: 首页 > news >正文

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

http://www.xdnf.cn/news/428131.html

相关文章:

  • 春秋云镜 Time Writeup
  • 面试中被问到谈谈你对threadlocal的理解
  • 2025年5月-信息系统项目管理师高级-软考高项一般计算题
  • 基于Session实现短信登录全流程详解
  • 数据治理的核心
  • 论文知识总结
  • 日常知识点之随手问题整理(vcpkg安装osgearth并进行测试简单整理)
  • 【Ubuntu】扩充磁盘大小
  • 求1+3+5+7+9+…,其和小于等于500 的最大项
  • Java线程池性能优化全解析:从配置到实践
  • Redis学习笔记
  • SAP Business One(B1)打开自定义对象报错【Failed to initialize document numbering:】
  • 大模型核心运行机制
  • 玩转ChatGPT:DeepSeek实战(统一所在地格式)
  • 基于STM32、HAL库的TDA7719TR音频接口芯片驱动程序设计
  • RK3568移植鸿蒙系统openharmony-5.1.0-release
  • 【愚公系列】《Manus极简入门》036-物联网系统架构师:“万物互联师”
  • 数据结构基础--蓝桥杯备考
  • 在Flutter上如何实现按钮的拖拽效果
  • Ceph 集群常用管理命令
  • esp32硬件支持AT指令
  • 什么类型的网站适合用WAF?Web应用防火墙的适用场景解析
  • Python(1) 做一个随机数的游戏
  • MySQL索引底层数据结构与算法
  • Vue 2 和 Vue 3的比较(二、语法差异)
  • Excel的详细使用指南
  • Mac修改hosts文件方法
  • Linux文件编程——标准库函数fopen、fread、fwrite等函数
  • Confusion2(Python反序列化+JWT)
  • MySQL——八、SQL优化