所以在我的nib文件中我启用了辅助功能并将文本字段的可访问性标签设置为“txt” 我试图根据辅助功能名称找到此文本并更改其文本。
var target = UIATarget.localTarget();
var application = target.frontMostApp();
var mainWindow = application.mainWindow();
mainWindow.logElementTree();
// This works
var textField = mainWindow.textFields()[0];
//this doesn't work
var textField = mainWindow.textFields()["txt"];
textField.setValue("Hello");
我做错了吗?如何根据辅助功能标签找到标签?
修改
我也对其他解决方案持开放态度,我试图避免根据索引
获取文本字段答案 0 :(得分:5)
我有类似的问题,并在代码中设置辅助功能标签值而不是在nib文件中解决我的问题。例如,我需要在UIAutomation脚本中访问UITextField,我必须在viewDidLoad方法中设置可访问性标签值,如下所示。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
testTxtField.accessibilityLabel = @"myTxtBox";
}
以下是我的UIAutomation脚本
var target = UIATarget.localTarget();
var application = target.frontMostApp();
var mainWindow = application.mainWindow();
mainWindow.logElementTree();
// This works
//var textField = mainWindow.textFields()[0];
// Now, this work too.
var textField = mainWindow.textFields()["myTxtBox"];
textField.setValue("Hello");
UIALogger.logMessage("Text field:" + textField.label());