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

本文关键字:元素 上下文 查找 xpath | 更新日期: 2023-09-27 18:01:08

我正在使用xpath运行使用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>

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

这应该做到:

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

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