无法排除 xpath 中的最后一个元素

Unable to exclude the last element in xpath

我大致有以下html:

<div class="form-group row">
        <label class="control-label col-md-2 font-weight-bold text-right" for="Name">Name</label>
        <div class="col-md-10">
            <input class="form-control text-box single-line valid" data-val="true" id="Name" name="Name" type="text" value="Mark" 
            <span class="text-danger field-validation-valid"</span>
        </div>
    </div>
<div class="form-group row">
        <label class="control-label col-md-2 font-weight-bold text-right" for="Address">Address</label>
        <div class="col-md-10">
            <input class="form-control text-box single-line valid" data-val="true" id="Address" name="Address" type="text" value="101 Windmere" 
            <span class="text-danger field-validation-valid"</span>
        </div>
    </div>
<div class="form-group row">
        <label class="control-label col-md-2 font-weight-bold text-right" for="Notes">Notes</label>
        <div class="col-md-10">
            <input class="form-control text-box single-line valid" data-val="true" id="Notes" name="Notes" type="text" value="Sample note goes here" 
            <span class="text-danger field-validation-valid"</span>
        </div>
    </div>
<div class="form-group row">
        <label class="control-label col-md-2 font-weight-bold text-right" for="Award">Award</label>
        <div class="col-md-10">
            <input class="form-control text-box single-line valid" data-val="true" id="Award" name="Award" type="text" value="20" 
            <span class="text-danger field-validation-valid"</span>
        </div>
    </div>

如您所知,我正在处理某种形式 table。我正在尝试对此进行迭代并获取所有值。除了最后一个(Award)之外,我需要所有“col-md-10”实例。所以我使用以下 xpath:

//div[@class = 'col-md-10'][position()<4]

但是,它一直在寻找所有四个实例并且不会在 3 处停止。无论我输入什么数字作为位置。即使我执行 [position()<1],它也会找到所有四个。

有什么想法吗?

您 html 中的 <span> 标签没有正确关闭(它们应该是 <span/>)。除此之外,以下表达式应该可以帮助您:

(//div[@class = 'col-md-10'])[position()<4]