我想要xpath&#34; field_name&#34;在<label for="street" string="Address"/>
之前
但我可以xpath标签:&#39;(
<xpath expr="//label[@for='street']" position="after">
<field name="field_name"/>
</xpath
有人请帮助我,谢谢你有时间阅读我的话
答案 0 :(得分:1)
试试这个,你可以给出像之前,之后的位置,属性
<xpath expr="//label[@string='Address']" position="before">
<field name="field_name"/>
</xpath>
OR
您可以使用其他方式,例如
<label for="street" position="before">
<field name="field_name"/>
<label for="field_name"/>
</label>
答案 1 :(得分:0)
对于这类问题(你没有名字参考),你必须使用路径。假设你的标签是这样的结构:
<form>
<sheet>
<div>
<label string='street'/>
<label string='postal code'/>
<div>
</sheet>
</form>
现在,你需要达到第一个标签,所以你可以这样做:
<xpath expr='//sheet/div/label[1]' position="after">
<field name="field_name"/>
</xpath>
说明: 使用表达式,我们首先调用我们拥有的第一个工作表的相对路径(//用于相对路径),因此我们可以在代码中的任何位置到达它,其次是该div的绝对路径(/是绝对路径)最后,因为我们需要标签,但我们想要第二个,我们使用[1]来获得它。这个确切的路径并不总是必要的,我只是建议它,因为通常我们有多个div,但只有一张,这就是为什么我把它作为根,但当然你必须适应你自己的结构。有关xpath的更多信息,请阅读https://www.w3schools.com/xml/xpath_syntax.asp