我试图解析HTML:LXML不能正确解析标签多类
s1 => [<Element span at 0x7f0a6807a530>]
s2 => [<Element span at 0x7f0a6807a590>]
s3 => []
但第一跨度标签具有类“腰斩”,但S3是空的。而在S2中,当我给这两个类时,它返回标签。
我试图解析HTML:LXML不能正确解析标签多类
s1 => [<Element span at 0x7f0a6807a530>]
s2 => [<Element span at 0x7f0a6807a590>]
s3 => []
但第一跨度标签具有类“腰斩”,但S3是空的。而在S2中,当我给这两个类时,它返回标签。
为了避免由Scharron引发的cut2问题,您可以将空格连接到类的前端和尾端。
a.xpath('.//span[contains(concat(" ", @class, " "), " cut ")]')
我很确定CSS数据模型(即类是单个class
属性中的空格分隔值)未遵守XPath查询。为了做你想做的事,你应该看看使用CSS选择器(例如,通过cssselect)。
如果标签只是'',这会匹配吗? – millimoose
它会。在上面的例子中,它将成为'a.xpath('.// span [contains(“cut”,“cut”)]')'这将是真实的 – Drover