xpath选择第一个/第二个或第四个td内容

时间:2015-07-21 14:43:02

标签: dom xpath html-table nodevalue

<table class="attributes">
<tbody>
<tr>
<td class="label title"><b>scale</b></td><td class="value">1/48</td>
<td class="label title"><b>products</b></td><td class="value">Plastic kits</td>
</tr>
<tbody>
</table>

在这一块上打了一个大脑......

尝试捕获td中的特定值。所以第一次我会抓住第一个,然后第二个等等......

//table[@class='attributes']/tbody/tr//descendant::td[@class='value']

给我所有td值如何仅选择第二个或第三个

我试过

"//table[@class='attributes']/tbody/tr//descendant::td[@class='value']/td[2]" 

没有成功。

例如

$x("//*[@class='attributes']/tbody/tr/td[@class='value']") 
找到我

[<td class=​"value">​1/48​</td>​, <td class=​"value">​Plastic kits​</td>​, <td     class=​"value">​Limited edition​</td>​, <td class=​"value">​Aircraft​</td>​, <td class=​"value">​Eduard​</td>​, <td class=​"value">​0.5 kg​</td>​]

所以我把它改成了

然后我将xpath更改为

$x("//*[@class='attributes']/tbody/tr/td[@class='value'][1]")

添加[1]及其作用是返回

[<td class=​"value">​1/48​</td>​, <td class=​"value">​Limited edition​</td>​, <td class=​"value">​Eduard​</td>​]

1 个答案:

答案 0 :(得分:1)

选择class='value' td下方的所有class='attributes' table元素:

/table[@class='attributes']//td[@class='value']

选择

<td class="value">1/48</td>
<td class="value">Plastic kits</td>

仅选择第二个td

(/table[@class='attributes']//td[@class='value'])[2]