qq_46151004 2024-02-26 17:19 采纳率: 1.9%
浏览 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日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错