3

因此,在我的 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");

我做错什么了吗?如何根据可访问性标签找到标签?

编辑:

我也对其他解决方案持开放态度,我试图避免根据索引获取文本字段

4

1 回答 1

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());
于 2011-12-18T01:42:34.523 回答