You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Odoo15中使用Xpath获取XML文本内容?

Odoo15中获取QWeb模板里的文本内容解决方案

针对你遇到的XPath表达式无法匹配到On hand: 文本的问题,原因及解决方法如下:

问题原因

  1. 原QWeb模板里的div下,On hand: 文本节点前后存在缩进空白,直接用//div/text()会返回包括空白节点在内的所有文本节点;而//div[contains(text(), 'On hand: ')]会检查div的第一个文本节点(即前面的空白),自然匹配不到目标文本。
  2. 若针对渲染后的HTML操作,Odoo会将<field>标签替换为实际页面元素,div内的文本节点会被这些元素分隔,同样需要处理空白和节点匹配问题。

有效XPath表达式

  • 精准匹配去除前后空白后的目标文本:
    //div/text()[normalize-space()='On hand:']
    
  • 模糊匹配包含目标文本的节点:
    //div/text()[contains(normalize-space(), 'On hand:')]
    
  • 获取div下所有非空白的文本内容:
    //div/text()[normalize-space()]
    

额外说明

如果是在Odoo的视图继承或XPath定位中操作QWeb模板,还可以结合t-if条件精准定位:

//div[@t-if="record.type.raw_value == 'product'"]/text()[normalize-space()='On hand:']

内容的提问来源于stack exchange,提问作者Ka_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 07:20:35