Ios 在UIAutomation中按名称从UIAEElementArray获取元素时遇到问题
在UIAutomation脚本中按名称获取接口元素时遇到问题 我已经为文本控件设置了可访问性面板: 我知道我有正确的父视图,因为这段代码将用于设置字段内容:Ios 在UIAutomation中按名称从UIAEElementArray获取元素时遇到问题,ios,ios-ui-automation,Ios,Ios Ui Automation,在UIAutomation脚本中按名称获取接口元素时遇到问题 我已经为文本控件设置了可访问性面板: 我知道我有正确的父视图,因为这段代码将用于设置字段内容: var view = UIATarget.localTarget().frontMostApp().mainWindow(); var textfields = view.textFields(); textfields[0].setValue("testuser"); 不幸的是,如果我试图按名称访问该字段,正如文档似乎指出的那样,我会得
var view = UIATarget.localTarget().frontMostApp().mainWindow();
var textfields = view.textFields();
textfields[0].setValue("testuser");
不幸的是,如果我试图按名称访问该字段,正如文档似乎指出的那样,我会得到一个错误:
var view = UIATarget.localTarget().frontMostApp().mainWindow();
var textfields = view.textFields();
textfields['foo'].setValue("testuser");
无法对无效元素执行操作:target.frontMostApp.mainWindow.textFields[foo]中的UIAElementNil
有人知道为什么按名称查找功能在这里对我不起作用吗
谢谢你的洞察力 UI Automation似乎在Title字段中查找元素的名称,而不是在documented Accessibility Label字段中查找;至少,这是我的经验。通过属性向UI元素添加标题应该会产生所需的行为
更新:经过进一步的实验,现在看来要编辑的字段可能是可访问性标识符而不是标签,AFAICT只能通过编程方式设置 UI Automation似乎在Title字段中查找元素的名称,而不是在documented Accessibility Label字段中查找;至少,这是我的经验。通过属性向UI元素添加标题应该会产生所需的行为 更新:经过进一步的实验,现在看来要编辑的字段可能是可访问性标识符而不是标签,AFAICT只能通过编程方式设置 根据 UIAEElementArray部分,您可能希望尝试以下方法:
var textfields = view.textFields();
textfields.withName("foo")[0].setValue("testuser");
据
UIAEElementArray部分,您可能希望尝试以下方法:
var textfields = view.textFields();
textfields.withName("foo")[0].setValue("testuser");
如果您正在使用辅助功能层,则必须在设备/模拟器中启用它: 设置->常规->辅助功能->辅助功能检查器->打开
如果您正在使用辅助功能层,则必须在设备/模拟器中启用它: 设置->常规->辅助功能->辅助功能检查器->打开
添加UIATarget.localTarget.frontMostApp.mainWindow.logElementTree的输出,并读取UIATarget.localTarget.frontMostApp.mainWindow.logElementTree的输出