Как получить все подстановочные элементы с помощью cssselect?
Например:
content = """ <table> <tr id='Awesome1234'><a href="link1"></a></tr> <tr id='Awesome5678'><a href="link2"></a></tr> </table> """ doc = lxml.html.fromstring(html) links = lxml.cssselection('tr.Awesome* a') for link in links: print link.get('href')
Я хочу вывести:
link1 link2
Возможно ли это с помощью cssselect? Если нет, как я могу получить это? (XPath?)
^= оператор сравнения кажется вам:
^=
tr[id^=Awesome] a
Используйте следующее выражение XPath (css не требуется):
tr[starts-with(@id, 'Awesome')]
Это выражение XPath выбирает все tr дочерние элементы узла контекста, которые имеют атрибут id, строковое значение которого начинается со строки 'Awsome'.
tr
id