我有这个html脚本:
<ul class="infoGeneraleTxt column2">
<li>
<h4>Année :</h4>
<span>2017</span>
<li>
<li>
<h4>Nombre de portes :</h4>
<span>5</span>
<li>
<li>
<h4>Puissance fiscale :</h4>
<span>6 CV</span>
<li>
我想获取所有span的值,但有时我有3个li
,有时只有2个,所以我得到了错误的值。
是否有一种方法可以根据先前的h4
标签名称来捕获跨度值?
例如,seconde标签的示例: 如果h4 ==“ Nombre de portes:”,请在下面给我span参数。
答案 0 :(得分:0)
是的
x.select('//li[h4/text()=="Nombre de portes :"]/span')
答案 1 :(得分:0)
尝试在XPath以下使用:
"//li[h4='Nombre de portes :']/span"
如果span
还包含带有文本li
的标头,则获得li
的{{1}}子级
您也可以尝试
'Nombre de portes :'
精确选择"//li/h4[.='Nombre de portes :']/following-sibling::span"
节点之前的span
节点,该节点具有所需的文本内容,但是IMO第一选项应该足够