Javascript 用名称标识UIAutomation中的单元格
我正在尝试如何使用UIAutomation框架使用名称在表视图中标识单元格。这是一个来自仪器编辑器视图的屏幕截图 我尝试了以下方法,但还没有成功。正确或好的方法是什么。通常,withName与任何UIAEElement一起工作吗Javascript 用名称标识UIAutomation中的单元格,javascript,ios-ui-automation,Javascript,Ios Ui Automation,我正在尝试如何使用UIAutomation框架使用名称在表视图中标识单元格。这是一个来自仪器编辑器视图的屏幕截图 我尝试了以下方法,但还没有成功。正确或好的方法是什么。通常,withName与任何UIAEElement一起工作吗 main window().带名称(“上午11:00”) target.frontMostApp().mainWindow().TableView()[0]。单元格().TableView()[0]。单元格()[“上午11:00”] 请注意,使用硬编码位置识别元件是可
withName在apple文档中提到-为了澄清,在
UIAEElement
上的withName()
方法是一个测试,以查看元素是否具有该名称。如果是,则返回元素;如果不是,则返回UIAElementNil
您考虑的是UIAElementArray
上的withName()
,它只将元素数组的结果过滤为具有给定名称的结果
您在窗口上调用了withName()
,但该操作无效。这些查询方法不会深入遍历元素树来查找内容。您需要像在第2行中一样进行遍历
不过,我不太清楚它为什么坏了。看起来您正在正确地穿越。我的直觉是,这个名字可能隐藏了额外的空白字符或unicode,而简单的字符串“11:00AM”不匹配
我有几点建议来追踪这件事。为内部表视图创建一个中间变量。输入这些建议对我来说比较容易
var innerTableView = target.frontMostApp().mainWindow().tableViews()[0].cells().tableViews()[0];
现在试试这两个建议,让我知道它是怎么说的:
UIALogger.logMessage(“名称为“”+”innerTableView.cells()[2].name()+”)代码>
innerTableView.cells().firstWithPredicate(“name包含'11:00am')).logElement()代码>
当您运行这些建议中的任何一个时会发生什么?根据您的第一个建议并添加for循环,我能够找出问题所在。我打电话的时间不对。非常感谢。