我用 XPath 选择第一个/第二个或第四个 td 内容
Posted
技术标签:
【中文标题】我用 XPath 选择第一个/第二个或第四个 td 内容【英文标题】:What I do select first/second or forth td content with XPath 【发布时间】:2015-10-11 02:19:40 【问题描述】:<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>]
【问题讨论】:
链接到 img 到目前为止i435.photobucket.com/albums/qq74/gtspeed15/xpath.gif 【参考方案1】:要选择class='attributes'
table
下的所有class='value'
td
元素:
/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]
【讨论】:
几乎那里添加了图片链接。似乎抓住了第一组 td 的 chrome xpath 没有得到任何奇怪的东西,它似乎从来没有真正运作良好。 您可能已经清楚地知道您想要哪个td
,但是您添加的图像并没有确定它。它也没有说明我向您展示的如何选择第二个 td
无法满足您的需求。
如果我没有很好地解释自己,我深表歉意。链接的图像是我试图简化它的实际 html。如果这是正确的术语,我可以确定所需的 td 树。但它给了我其中的 4 个,我现在只需要在这个实例上的第一个,然后我可以继续接下来的几个。
例如 $x("//*[@class='attributes']/tbody/tr/td[@class='value']") 找到我 [以上是关于我用 XPath 选择第一个/第二个或第四个 td 内容的主要内容,如果未能解决你的问题,请参考以下文章