C# 我想找到一个xpath元素,并通过检查其前后的元素来确认它是否正确
我正在使用XPath运行用VB在C#中开发的自动化。我很难找到一个元素,然后通过检查前一个元素和后一个元素来确认该元素是否正确 示例:C# 我想找到一个xpath元素,并通过检查其前后的元素来确认它是否正确,c#,vb.net,xpath,C#,Vb.net,Xpath,我正在使用XPath运行用VB在C#中开发的自动化。我很难找到一个元素,然后通过检查前一个元素和后一个元素来确认该元素是否正确 示例: 我想选择第二个“日期”,然后通过检查“test2”之前的元素和“time2”之后的元素是否是正确的元素来确认它是正确的“日期”。这能把事情弄清楚吗 或者: 我一直在使用firefox上的Firepath来查找元素。我一直使用的命令是//前面的::[contains(text(),'time2')]//[contains(text(),'date')//下面的::
我想选择第二个“日期”,然后通过检查“test2”之前的元素和“time2”之后的元素是否是正确的元素来确认它是正确的“日期”。这能把事情弄清楚吗 或者: 我一直在使用firefox上的Firepath来查找元素。我一直使用的命令是//前面的::[contains(text(),'time2')]//[contains(text(),'date')//下面的::*[contains(text(),'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
日期
时间1
测试2
日期
时间2
那么这句话的大意是什么
/html/body/div/div[h1/text()=' date ' and preceding-sibling::div/h1/text()=' test2 ' and following-sibling::div/h1/text()=' time2 ']
或者启动root并检查all,就像您的操作一样:
//div/div[h1/text()=' date ' and preceding-sibling::div/h1/text()=' test2 ' and following-sibling::div/h1/text()=' time2 ']