qq_46151004 2024-02-26 17:19 采纳率: 1.8%
浏览 11
已结题

用python如何确定子孙元素在父元素中的位置

用python如何确定子孙元素在父元素中的位置,比如下图包含文本“整车”的子元素a在父元素td的父元素tr中的位置号,也就是孙元素a在爷元素tr中的位置?

img

  • 写回答

16条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-02-26 17:20
    关注

    引自免费微信小程序:皆我百晓生

    为了确定子元素(如包含文本“整车”的<a>标签)在父元素(这里的<tr>标签)中的位置,我们可以使用Python的BeautifulSoup库来解析HTML并查找指定子元素。以下是一个示例代码:

    from bs4 import BeautifulSoup
    
    # 假设你已经有了整个HTML内容,并存储在变量html中
    html = '''...你的HTML内容...'''
    
    # 解析HTML
    soup = BeautifulSoup(html, 'html.parser')
    
    # 找到所有class为"ModBodyRow*"的tr元素
    parent_elements = soup.find_all('tr', class_=re.compile(r'^ModBodyRow'))
    
    # 遍历这些tr元素,寻找包含特定文本的子元素a
    for index, tr in enumerate(parent_elements):
        a_element = tr.find('a', text='整车')
        if a_element:
            # 找到了包含“整车”文本的a元素
            print(f'子元素<a>在父元素<tr>中的位置是:{index}')
            break  # 找到一个后就可以结束循环了,如果可能有多个匹配则去掉这行break
    

    这段代码首先找到所有的<tr>元素,然后遍历它们,在每个<tr>元素下查找包含文本“整车”的<a>元素。当找到符合条件的<a>元素时,它会输出该<a>元素在其父<tr>元素中的索引(位置号)。

    请注意,这个例子假设HTML结构是正确的,并且<a>直接位于<tr>内。如果实际结构更复杂,可能需要进一步调整选择器或遍历方式。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月29日
  • 修改了问题 2月26日
  • 修改了问题 2月26日
  • 创建了问题 2月26日

悬赏问题

  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏