当我使用for循环时,调用UIATarget.localTarget()。frontMostApp()。mainWindow()。elements();要搜索主视图上的特定元素,它运行速度非常慢。有没有人遇到过这个问题呢?如果是这样,任何建议
答案 0 :(得分:8)
我遇到了同样的问题,经过一些研究后,我发现UI Automation会在调用myElement.elements()[i]
时等待,因为元素尚不可访问。因此,如果你想减少这个延迟,你应该在堆栈上推送一个新的超时值,然后像这样弹出它:
UIATarget.localTarget().pushTimeout(0);
...
UIATarget.localTarget().popTimeout();
或简单地说:
UIATarget.localTarget().setTimeout(0);
答案 1 :(得分:1)
我不久前开始学习这种乐器,我认为你可以尝试使用它:
button = UAITarget.localTarget().frontMostApplication().mainWindow().tableView()[0].scrollToElementWithPredicate("name beginswith "Your Specific Element Name");
其中tableView是主窗口视图列表的层次结构,它将包含您的按钮以及您为其指定的特定名称。
如果你找到了自己的方式,也请发表你的答案。