2015-10-01 2 views
0

Я хочу, чтобы выбрать узлы с несколькими атрибутами с помощью XPathLXML не поддерживает множественный фильтр атрибутов XPath

есть ли обходной путь для моей проблемы?

node.xpath('.//td[@colspan=6 @class="mbw"]')

File "lxml.etree.pyx", line 1507, in lxml.etree._Element.xpath (src/lxml/lxml.etree.c:52198) 
    File "xpath.pxi", line 307, in lxml.etree.XPathElementEvaluator.__call__ (src/lxml/lxml.etree.c:152124) 
    File "xpath.pxi", line 227, in lxml.etree._XPathEvaluatorBase._handle_result (src/lxml/lxml.etree.c:151097) 
    File "xpath.pxi", line 212, in lxml.etree._XPathEvaluatorBase._raise_eval_error (src/lxml/lxml.etree.c:150896) 
lxml.etree.XPathEvalError: Invalid predicate 

ответ

1

Ваше выражение XPath отсутствует логический оператор (and или or) для объединения каждый критерий атрибутов, например:

node.xpath('.//td[@colspan=6 and @class="mbw"]') 
+1

спасибо большое, я мог бы найти полезный ответ с googleing 'xpath lxml несколько атрибутов', и я много меня спас ~~ thx – newBike

Смежные вопросы