xpath:在元素之前和之后的元素的上下文中查找元素

时间:2013-02-26 16:02:33

标签: c# vb.net xpath

我正在使用xpaths运行使用VB在C#中开发的自动化。我在两个不同元素的上下文中找不到元素。我需要这样做,因为元素与页面上的其他元素共享相同的名称,但它后面和前面的元素是唯一的。

我还上传了一个文件来帮助您理解,我想在它之前和之后的上下文中找到日期。

http://www.filedropper.com/example

<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 :(得分:1)

这应该这样做:

/html/body/div/div/h1[../following-sibling::*[1]/h1/text() = " time2 " and ../preceding-sibling::*[1]/h1/text() = " test2 "]

following-sibling::*[1]返回以下第一个兄弟姐妹。由于div和h1元素是嵌套的,因此必须首先在层次结构中上升一级。