Python lxml:获取具有特定子元素的元素?
在lxml中工作时,我希望获得具有Python lxml:获取具有特定子元素的元素?,python,lxml,Python,Lxml,在lxml中工作时,我希望获得具有title=“转到下一页”的img子级的所有链接的href属性 因此,在下面的片段中: <a class="noborder" href="StdResults.aspx"> <img src="arrowr.gif" title="Go to next page"></img> </a> 但是next\u link是img,而不是a标签-我如何获得a标签 谢谢。只需将a/img…更改为a[img…]:(括号的意
title=“转到下一页”
的img
子级的所有链接的href
属性
因此,在下面的片段中:
<a class="noborder" href="StdResults.aspx">
<img src="arrowr.gif" title="Go to next page"></img>
</a>
但是next\u link
是img
,而不是a
标签-我如何获得a
标签
谢谢。只需将
a/img…
更改为a[img…]
:(括号的意思是“这样”)
检索href属性的值。您还可以分别使用XPath表达式选择父节点或任意祖先节点。可能重复感谢,我一直认为是[@..]只能指定属性。事实上,我想知道是否有什么地方可以提供lxml的参考或样本来解决这种混乱?
next_link = doc.xpath("//a/img[@title='Go to next page']")
print next_link[0].attrib['href']
import lxml.html as lh
content='''<a class="noborder" href="StdResults.aspx">
<img src="arrowr.gif" title="Go to next page"></img>
</a>'''
doc=lh.fromstring(content)
for elt in doc.xpath("//a[img[@title='Go to next page']]"):
print(elt.attrib['href'])
# StdResults.aspx
"//a[img[@title='Go to next page']]/@href"