xpath 匹配获取第二个
Python 2023/4/26 11:38:52 点击:不统计
xpath 怎么获取匹配元素第二个,并对第二个自元素进行操作呢
直接看看代码,线上xpath 匹配html,html头尾都去掉了
<body>
<h2 class="xpath_h">
<a href="1">xpath1</a>
<a href="2">xpath2</a>
</h2>
<h2 class="xpath_h">
<div>
<a href="3">xpath hp</a>
<a href="4">xpath hp2</a>
<a href="5">xpath hp3</a>
</div>
</h2>
</body>
问题,怎么通过xpath 获取第二个h2 div 标签里面的所有a元素
html_content = common.read_file("1.html")
xp_obj = etree.HTML(html_content)
# 获取第二个 h2 div 所有a元素
h2_div_a = xp_obj.xpath("//h2[@class='acgn-hd']")[1].xpath("./div/a")
解释一下:
xp_obj.xpath("//h2[@class='acgn-hd']")# 先获取所有h2
xp_obj.xpath("//h2[@class='acgn-hd']")[1] # 索引0 开始,取第二个h2 元素 用1
.xpath("./div/a")# 然后再xpath 当前元素下div 下面的a
也可以分开写
dl = xp_obj.xpath("//h2[@class='acgn-hd']")[1]
a = dl.xpath("./div/a")
以上就是通过xpath 获取第二个元素
·上一篇:xpath h标签下无法获取p元素 >> ·下一篇:python获取拼音首字母 >>