xpath获取标签之间的文本内容

目前在学习xpath,需要取一个package信息,如图:

 标题 "package"在span里面,比较方便取,用这个xpath就行:

//div[@id='artikeltabelle']/table/tbody/tr[1]/td[2]/span[@class='insertlabela' and text()='package:']

但是"package"的值没有任何标签包裹,父级标签就是<td>了,这个怎么取呢?

在chrome工具的控制台里面,使用了以下代码:

$x("//div[@id='artikeltabelle']/table/tbody/tr[1]/td[2]/text()").map(c=>c.textContent)

拿到了<td>里面的所有文本:

数了一下, SOT23在第8个,所以改一下就获取到了:

$x("//div[@id='artikeltabelle']/table/tbody/tr[1]/td[2]/text()[8]").map(c=>c.textContent)

但是这个"package"的位置是不稳定的,不一定在第8个,那么能不能两个结合定位呢?

经过一番修改,得到最终的xpath:

$x("//div[@id='artikeltabelle']/table/tbody/tr[1]/td[2]/span[@class='insertlabela' and text()='package:']/following-sibling::text()[1]").map(c=>c.textContent)

此处先使用span标签做定位,然后用xpath的轴:following-sibling,找到最近的下一个text(),就拿到了。

纯xpath写法:

//div[@id='artikeltabelle']/table/tbody/tr[1]/td[2]/span[@class='insertlabela' and text()='package:']/following-sibling::text()[1]

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

willgon123

谢谢打赏,我将再接再厉!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值