如何在 <label for = 之前 xpath 字段 "street" 字符串= "Address" />



我想在<label for="street" string="Address"/>之前展开"field_name"但我可以只标记:'(

<xpath expr="//label[@for='street']" position="after">  
    <field name="field_name"/>
</xpath

有人请帮我,谢谢你花时间阅读我的单词

试试这个,你可以在属性之后、之前给出位置

<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>

对于这类问题(没有名称引用(,您必须使用路径。假设你的标签是这样的结构:

<form>
    <sheet>
        <div>
            <label string='street'/>
            <label string='postal code'/>
        <div>
    </sheet>
</form>

现在,你需要达到firs标签,这样你就可以做这样的事情:

<xpath expr='//sheet/div/label[1]' position="after">
    <field name="field_name"/>
</xpath>

说明:使用该表达式,我们首先调用第一个工作表的相对路径(//表示相对路径(,这样我们就可以在代码中的任何地方找到它,其次是该div的绝对路径(/is表示绝对路径(,最后,由于我们必须标记,但我们想要第二个,所以我们使用[1]来获取它,我只是建议它,因为通常我们有多个div,但只有一张,这就是为什么我把它作为根,但当然你必须根据自己的结构来调整它。有关xpath的更多信息,您可以阅读https://www.w3schools.com/xml/xpath_syntax.asp

最新更新