在css选择器中是否有任何方法可以解析parent
标记名称,在这种情况下tr
。
以下是搜索的元素:
html_content="""
<tr>
<td>Hi!!!!</td>
</tr>
"""
如果我考虑上面的元素,那么解析父名tr
的css选择器应该是什么?
from lxml.html import fromstring
root = fromstring(html_content)
item = root.cssselect("td")[0].text
print(item)
答案 0 :(得分:1)
AFAIK有一种类似
的语法*:has(>td)
lxml.html
尚未支持
您可以使用内置getparent()
方法
item = root.cssselect("td")[0]
print(item.getparent().tag)
答案 1 :(得分:0)
使用lxml.html.HtmlElement.xpath()
方法:
import lxml.html
html_content="""
<tr>
<td>Hi!!!!</td>
</tr>
"""
root = lxml.html.fromstring(html_content)
item = root.xpath("td/..")[0]
print(item.tag) # tr
td/..
- xpath表达式,..
表示父节点