查看了一下 getChildByText 的源码,发现这个函数是先 scrollIntoView 到对应的文本,再匹配 childPattern。
这样如果我的界面上有两个相同文本的按钮但其他属性不同的时候,就没办法通过这个方法来定位界面上位于下面的那个按钮。
各位大神,有没有比较完美的解决办法?
Public UiObject getChildByText(UiSelector childPattern, String text, boolean allowScrollSearch)
throws UiObjectNotFoundException {
Tracer.trace(childPattern, text, allowScrollSearch);
if (text != null) {
if (allowScrollSearch) {
scrollIntoView(new UiSelector().text(text));
}
return super.getChildByText(childPattern, text);
}
throw new UiObjectNotFoundException("for text= \"" + text + "\"");
}