Ranorex API无法找到Ranorex Spy找到的网络元素

时间:2014-05-05 11:42:26

标签: c# .net xpath ranorex

我试着找一个表格行。 首先,我使用了Ranorex Spy,并尝试使用以下rXpath表达式:

/dom[@domain='127.0.0.1']//table//td[@innertext='john.doe@acme.com']/../following-sibling::tr/.[1]

Ranorex Spy成功找到并突出显示此标记。但是当我尝试使用Ranorex API找到这个元素时,它没有返回任何结果。代码如下:

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

你能告诉我,我的错误在哪里或rXpath有什么问题吗?

1 个答案:

答案 0 :(得分:2)

实际上它不是解决方案,而是解决方法。

以下XPath从中检索特定条目。并且[1]是所需元素的索引

    /dom[@domain='127.0.0.1']//table//td[@innertext='john.doe@acme.com']/../following-sibling::tr/.[1]

因此,我们的想法是将所有元素作为集合获取,并使用具有适当索引的元素。

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

就我的目的而言,它足够了,但如果使用直接XPath查询找到该元素,它会慢2倍。