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

用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 为啥快手广告联盟的广告这么难出来
  • ¥15 k8s集群重启后,kubelet一直报systemctl restart kubelet.service "Failed to delete cgroup paths"
  • ¥15 微信小程序构建工具类发布到npm,install后报错
  • ¥15 amesim液压仿真问题
  • ¥15 MATLAB优化设计
  • ¥15 ANN预测模型 200大米
  • ¥20 优秀学生的问题 oj java
  • ¥15 scratch-gui 如何集成进 react native
  • ¥15 把全局悬浮窗改为局内悬浮窗
  • ¥15 Excel vba编程调用word如何读取换行符