2015-10-20 136 views
4

我有代碼爲我檢索一個靜態文本元素,但我想要做的是然後獲取該元素的xpath作爲一個字符串。我使用紅寶石。在這一點上,我有一個我已經檢索的元素數組。以下是我嘗試過但沒有運氣。Appium從元素中獲取xpath?

elements.each do |element| 

    if element.attribute("name").include? vProblem 
    p "Problem found, retrieving xpath..." 

    # Neither of these work 
    p "Problem xpath is: " + element.attribute("xpath").to_s 
    p "Problem xpath is: " + element.xpath.to_s 

    end 
end 
+0

我不相信有一種方法,因爲有無限可能的xpaths。另外,您已經從if語句中的信息中知道xpath,例如'// * [@ name ='vProblem']'(元素內) – jmccure

回答

1

我不相信有一個簡單的方法或設置調用哪個會給你xpath值。你必須自己決定。爲此,遍歷頁面上的所有元素,直到找到(A)匹配要查找的元素的類,並且(B)匹配元素的名稱/值。

這種方法的唯一問題是,它假定匹配類和值的第一個元素是正確的元素。如果有多個具有相同類和值的元素,則只會找到第一個。