网站制作学习网Python→正文:xpath 匹配获取第二个
字体:

xpath 匹配获取第二个

Python 2023/4/26 11:38:52  点击:不统计


xpath 怎么获取匹配元素第二个,并对第二个自元素进行操作呢
直接看看代码,线上xpath 匹配html,html头尾都去掉了
<body>
    <h2 class="xpath_h">
        <a href="1">xpath1</a>&nbsp;
        <a href="2">xpath2</a>&nbsp;
    </h2>
    <h2 class="xpath_h">
        <div>
            <a href="3">xpath hp</a>&nbsp;
            <a href="4">xpath hp2</a>&nbsp;
            <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获取拼音首字母 >>
推荐文章
最新文章