
我试过了,但是没有用。
t = item.findtext('.//span[@]//a[2]')
这是有关//
缩写的常见问题解答。
.//a[2]意思是:选择
a当前节点的所有后代
a,它们是其父代的第二个子代。因此,根据具体的XML文档,它可以选择多个元素或不选择任何元素。
简而言之,
[]运算符的优先级高于
//。
如果只想返回所有节点中的一个(第二个),则必须使用方括号来强制所需的优先级:
(.//a)[2]
这实际上选择
a了当前节点的第二个后代。
对于问题中使用的实际表达式,将其更改为 :
(.//span[@]//a)[2]
或将其更改为:
(.//span[@]//a)[2]/text()
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)