2014-12-02 104 views
0

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()返回文本。这是不工作...

enter image description here

+0

工作,我想我们能够更好地帮助,如果你提供的HTML的一个样本。 – Richard 2014-12-02 06:42:07

+0

@ Richard-我相信你是因为它是iOS原生应用程序而要求使用xml。我不知道如何获得XML,但我已经添加了上面的截图。请看看是否有帮助,或者如果你指导我如何获得XML或HTML,这将是很好的。 – 2014-12-02 06:58:24

+0

Ahh ..我在这里得到了答案.. https://github.com/appium/appium/issues/2814 “有时文本确实是''。你还试过getAttribute('label'), getAttribute('value')和getAttribute('name')?“ getAttribute('name')在我的情况下工作.. – 2014-12-02 07:04:46

回答

0

我终于得到了答案here

按Jlipps评论:

有时候文字的确是 ''。你也试过getAttribute('label'),getAttribute('value')和getAttribute('name')吗?

和的getAttribute(“名称”)在我的情况

相关问题