我想找到一个xpath元素,并通过检查它之前和之后的元素来确认它是正确的

时间:2013-02-26 18:23:57

标签: c# vb.net xpath

我正在使用xpaths运行使用VB在C#中开发的自动化。我无法找到元素,然后通过检查前一个元素和后面的元素来确认元素是否正确。

例:
我想选择第二个“日期”然后通过检查“test2”之前的元素和“time2”之后的元素是否是正确的元素来确认它是正确的“日期”。那清楚了吗?

或者: 我一直在firefox上使用Firepath来查找元素。我一直在使用的命令是// preceding :: [contains(text(),'time2')] // [contains(text(),'date')] //以下: :* [含有(文本(), 'TEST2')]

我还添加了我的HTML:

<html>
<head>
</head>
<body>
<div> this is a test 
   <div> <h1> test1 </h1> </div>
   <div> <h1> date </h1> </div>
   <div> <h1> time1 </h1> </div>
   <div> <h1> test2 </h1> </div>
   <div> <h1> date </h1> </div>
   <div> <h1> time2 </h1> </div>
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

这就是这个问题吗?

/html/body/div/div[h1/text()=' date ' and preceding-sibling::div/h1/text()=' test2 ' and following-sibling::div/h1/text()=' time2 ']

或者启动root并检查所有内容,就像你的那样:

//div/div[h1/text()=' date ' and preceding-sibling::div/h1/text()=' test2 ' and following-sibling::div/h1/text()=' time2 ']