Appium的iOS:如何找到一个元素的子元素
问题描述:
Appium:1.3.1 的Mac OS X 10.9.4Appium的iOS:如何找到一个元素的子元素
我面对这样一个场景,我需要通过所有的结果进行迭代循环,然后单击1他们如果文字匹配。
由于每一个分层的结构看起来,如果我拿列为UIATableCell这样
>UIATableView
> UIATableCell
>UIAStaticText
> UIATableCell
>UIAStaticText
> UIATableCell
>UIAStaticText
> UIATableCell
>UIAStaticText
单击操作工作正常。
我把名单listingResults为@iOSFindBy(的className = “UIATableCell”)
for (WebElement resultNum : listingResults) {
resultText= resultNum.getText().trim();
if(!resultText.contains("more option")){
System.out.println(resultText);
}
}
resultNum.getText()不返回任何文本。对于文本,我需要查看“UIAStaticText”。我试图使用findelement并期待resultNum.findelement(By.className(“UIAStaticText”)).getText()返回文本。这是不工作...
答
我终于得到了答案here
按Jlipps评论:
有时候文字的确是 ''。你也试过getAttribute('label'),getAttribute('value')和getAttribute('name')吗?
和的getAttribute(“名称”)在我的情况
工作,我想我们能够更好地帮助,如果你提供的HTML的一个样本。 – Richard 2014-12-02 06:42:07
@ Richard-我相信你是因为它是iOS原生应用程序而要求使用xml。我不知道如何获得XML,但我已经添加了上面的截图。请看看是否有帮助,或者如果你指导我如何获得XML或HTML,这将是很好的。 – 2014-12-02 06:58:24
Ahh ..我在这里得到了答案.. https://github.com/appium/appium/issues/2814 “有时文本确实是''。你还试过getAttribute('label'), getAttribute('value')和getAttribute('name')?“ getAttribute('name')在我的情况下工作.. – 2014-12-02 07:04:46