iphone - iOS - UI 自动化通过可访问性标签获取文本字段?

标签 iphone ios accessibility ios-ui-automation

所以在我的 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");

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

编辑:

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

最佳答案

我有一个类似的问题,在代码中而不是在 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());

关于iphone - iOS - UI 自动化通过可访问性标签获取文本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8306076/

相关文章:

ios - body 上设置的背景图像被切断的问题 - iOS/Safari

ios - RLMArray 对象未与其对象一起存储

ios - 此类不符合键登录的键值编码

iphone - 将视频复制到 uipasteboard

ios - 如何为 iOS 版 Unity3d 添加辅助功能

twitter-bootstrap - Bootstrap 模式关闭按钮 aria-hidden=true

iphone - 添加的 UINavigationController 按钮是否需要自动释放?这个代码可以吗?

ios - 切换 CALayer 时如何设置动画

ios - 是否可以在 iOS 智能横幅中使用 LinkShare 签名?

html - JAWS 如何处理 ARIA 角色?