2010-08-25 56 views
0

所以我试图检查文本块的XPath以验证返回了正确的页面。然而,对于我测试的几个站点和设计(使用Selenium 2),我正在搜索的文本块总是相同的,但是它的XPath总是不同的(文本块没有定义ID或类,所以我需要检查文字)。有没有简单的方法来扫描特定的文本,而不必编写逻辑节点,直到找到文本(或者只是失败)才会尝试节点之后的节点?如何在XPath中查找节点(或元素),当该节点的路径始终不同时

回答

1

怎么是这样的:

//*[contains(text(), 'text you want to find')] 

(我假设你使用XPath我个人比较喜欢的LINQ to XML它是可行的,但想必你给的XPath表达式硒? ..)

+0

谢谢!我会给那一枪。我只使用Xpath,因为Selenium 2有一个构建它的方法,但是能否请您详细说明LINQ to XML(我仍然对.Net有新意)?它不需要是Xpath。 – James 2010-08-25 15:26:22

+0

@James:LINQ to XML是.NET 3.5中引入的一个XML API。我怀疑* XPath是更好的方法,除非Selenium将LINQ中的DOM公开为XML。 – 2010-08-25 15:28:07

+0

谢谢!该XPath解决方案完美工作! – James 2010-08-25 15:35:54