如何在Odoo15中使用Xpath访问文本内容



我正在使用Odoo15,并试图访问以下XML代码中的文本内容:

<div t-if="record.type.raw_value == 'product'">
On hand:  
<field name="qty_available"/>
<field name="uom_id"/> 
</div>

我尝试过使用//div/text()//div[contains(text(), 'On hand: ')],但都不起作用。有人能帮我吗?

问题

首先,请确保具有有效的xml。

//div/text()

将从所有div中选择所有text((-节点,也选择text((–仅包含空白的节点。

//div[contains(text(), 'On hand: ')]

如果div-元素包含多个text((-节点,并且contains((-函数的第一个参数只能是one字符串,则可能会失败。

解决方案

根据div内容的变化,您可以使用:

//div[contains(., 'On hand: ')]

将选择任何具有字符串"手头:"的divcontains((-函数中的.将所有text()-节点连接到一个字符串中

//div[contains(text()[1], 'On hand: ')]

将选择任何具有包含字符串"手头:"的第一个text()节点的div

//div/text()[contains(., 'On hand: ')]

将选择任何text()节点,该节点是div的直接子节点,并且包含字符串"手头:">

//div/text()[normalize-space()]

将只选择text()-作为div的直接子节点的节点,该节点包含的不仅仅是空白

相关内容

  • 没有找到相关文章

最新更新