2013-03-12 104 views
0

我正在处理UIAElementArray以实现ios自动化,并寻找一种更简单的方法在UIAElementArray内部进行搜索。搜索UIAElementArray中的文本/元素

下面是代码:

var textArray = this.myCollectionViews.staticTexts(); 

textArray.toArray() // Trying to convert UIAElementArray to a javascript array. 

logger.logDebug('Array object is' + textArray); // Here the output is [object UIAElementArray]; which I guess should be Array and not UIAElementArray. 

if (textArray.indexOf('Hello') > -1) 
{ 
     // do this 
} 

在这里,我就得到textArray.indexOf崩溃:

TypeError: '[object UIAElementNil]' is not a function (evaluating 'textArray.indexOf('Hello')') 

有没有人试过UIAElementArray转换为使用的toArray()方法JavaScript数组?或者有什么想法让UIAElementArray更容易搜索?

谢谢!

回答

0

您可以使用谓词进行搜索。我不太清楚你想完成什么,但是如果存在文本标签,看起来你想要做些什么。我会实现它,像这样:

if (textArray.withPredicate('name contains "Hello"').length > 0) 
{ 
    // do this 
} 

可以构建一个UIAElement的任何性质的工作谓词,我们正在做在这种情况下name()

这里的Apple's docs关于谓词字符串格式的基础知识。

+0

感谢乔纳森,是的,我正在检查文本是否存在,但后来我还需要该textArray中的文本的索引,因此试图使用indexOf()方法。可以尝试使用withPredicate(),但想知道为什么toArray()不返回给我一个JavaScript数组。 – 2013-03-12 19:02:27