2014-12-02 147 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(「名稱」)在我的情況

相關問題