2014-05-05 57 views
4

我試圖找到表格行。 首先,我用Ranorex間諜,並嘗試使用以下rXpath表達:Ranorex API找不到Ranorex Spy找到的Web元素

/dom[@domain='127.0.0.1']//table//td[@innertext='[email protected]']/../following-sibling::tr/.[1] 

Ranorex間諜發現,併成功地突出了這種標籤。但是當我試圖使用Ranorex API查找這個元素時,它不會返回任何結果。代碼如下

// path is exactly rXpath expression which is used for Ranorex Spy 
IList<Ranorex.Core.Element> elements = Host.Local.Find(path); 

你能告訴我,我的錯誤在哪裏,或者是否存在rXpath的問題?

回答

2

其實這不是一個解決方案,而是一種解決方法。

以下XPath從中檢索特定條目。和[1]是所希望的元件

/dom[@domain='127.0.0.1']//table//td[@innertext='[email protected]']/../following-sibling::tr/.[1] 

的索引所以,這個想法是獲得所有元素的集合,並與一個適當的索引使用元件。

String tableRowShortXpath = "/dom[@domain='127.0.0.1']//table//td[@innertext='[email protected]']/../following-sibling::tr"; 
IList<Ranorex.WebElement> elements = Ranorex.Host.Local.Find<Ranorex.WebElement>(tableRowShortXpath); 
Ranorex.WebElement desiredElement = elements[rowIndex - 1]; 

對於我而言這是不夠的,但如果該元素與直接XPath查詢發現,它的工作原理慢了2倍。