Xpath 使用“包含”返回的结果太多
在下面的html中,我试图获取包含Xpath 使用“包含”返回的结果太多,xpath,Xpath,在下面的html中,我试图获取包含装运编号值的两个节点,但是我得到了6个节点-为什么?contains是否仅将节点限制为与文本值匹配的节点?如果是这样,下面的语句应该只返回两个,而不是六个 在Chrome开发控制台中: $x("//tr//td[contains(.,'shipment number')]/following::td[1]") html: 日期 11/15/2019 装运编号 abc_123_佛罗里达-45 出发时间: 0430 到达时间 1715 顾客 鲍勃·史密斯 箱式
装运编号
值的两个节点,但是我得到了6个
节点-为什么?contains
是否仅将节点限制为与文本值匹配的节点?如果是这样,下面的语句应该只返回两个,而不是六个
在Chrome开发控制台中:
$x("//tr//td[contains(.,'shipment number')]/following::td[1]")
html:
日期
11/15/2019
装运编号
abc_123_佛罗里达-45
出发时间:
0430
到达时间
1715
顾客
鲍勃·史密斯
箱式
广场
框1
23.45
lane1
南方
框2
17.14
lane1
南方
框3
17.18
lane1
北
框2
199.14
lane1
西
日期
11/16/2019
装运编号
abc_222_佛罗里达-35
出发时间:
0630
到达时间
1715
顾客
苏·史密斯
箱式
直肠
框1
33.45
lane1
南方
框2
1.14
lane1
南方
框3
27.18
lane1
北
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<table border="1">
<tbody>
<tr>
<td>
<table>
<tbody>
<tr>
<td>
<table>
<tbody>
<tr>
<td>Date</td>
<td>11/15/2019</td>
</tr>
<tr>
<td>shipment number</td>
<td>abc_123_florida-45</td>
</tr>
<tr>
<td>Departure time:</td>
<td>0430</td>
</tr>
</tbody>
</table>
</td>
<td>
<table>
<tbody>
<tr>
<td>Time arrival</td>
<td>1715</td>
</tr>
<tr>
<td>customer</td>
<td>bob smith</td>
</tr>
<tr>
<td>box type</td>
<td>square</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<table border="1">
<tbody>
<tr>
<td>
<table>
<tbody>
<tr name="laneStop">
<td>box1</td>
<td>23.45</td>
<td>lane1</td>
<td>south</td>
</tr>
<tr name="laneStop">
<td>box2</td>
<td>17.14</td>
<td>lane1</td>
<td>south</td>
</tr>
<tr name="laneStop">
<td>box3</td>
<td>17.18</td>
<td>lane1</td>
<td>north</td>
</tr>
<tr name="laneStop">
<td>box2</td>
<td>199.14</td>
<td>lane1</td>
<td>west</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<table border="1">
<tbody>
<tr>
<td>
<table>
<tbody>
<tr>
<td>
<table>
<tbody>
<tr>
<td>Date</td>
<td>11/16/2019</td>
</tr>
<tr>
<td>shipment number</td>
<td>abc_222_florida-35</td>
</tr>
<tr>
<td>Departure time:</td>
<td>0630</td>
</tr>
</tbody>
</table>
</td>
<td>
<table>
<tbody>
<tr>
<td>Time arrival</td>
<td>1715</td>
</tr>
<tr>
<td>customer</td>
<td>sue smith</td>
</tr>
<tr>
<td>box type</td>
<td>rect</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<table border="1">
<tbody>
<tr>
<td>
<table>
<tbody>
<tr name="laneStop">
<td>box1</td>
<td>33.45</td>
<td>lane1</td>
<td>south</td>
</tr>
<tr name="laneStop">
<td>box2</td>
<td>1.14</td>
<td>lane1</td>
<td>south</td>
</tr>
<tr name="laneStop">
<td>box3</td>
<td>27.18</td>
<td>lane1</td>
<td>north</td>
</tr>
<tr name="laneStop">
<td>box2</td>
<td>299.14</td>
<td>lane1</td>
<td>west</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</body>
</html>
//tr//td[contains(text(),'shipment number')]/following::td[1]
//tr//td[not(.//td)][contains(.,'shipment number')]/following::td[1]
<td>abc_123_florida-45</td>
<td>abc_222_florida-35</td>