的position()
给每个迭代的指数相对于它的父,你是从你的XPath获得input
元素相对于td
并有各自td
下面没有50个input
元素。首先让符合标准,然后找到位置,所有td
小号
//td[@class="col-xs-0" and count(child::*[name()="input"][@type="checkbox" and @ng-click="selectedRun(record.file_name, record.run_status);"])>0][position()<=50]
这XPath的工作原理:
相反,下面的XPath会为你工作。
样品输入:
<root>
<td class="col-xs-0">
<input type="checkbox" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>
<td class="col-xs-0">
<input type="checkbox" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>
<td class="col-xs-0">
<input type="checkbox" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>
<td class="col-xs-0">
<input type="checkbox" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>
<td class="col-xs-0">
<input type="checkbox" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>
<td class="col-xs-0">
<input type="checkbox" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>
<td class="col-xs-0">
<input type="checkbox" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>
<td class="col-xs-0">
<input type="radio" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>
<td class="col-xs-0">
<input type="radio" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>
<td class="col-xs-0">
<input type="radio" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>
<td class="col-xs-0">
<input type="radio" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>
</root>
中的XPath //td[@class="col-xs-0" and count(child::*[name()="input"][@type="checkbox" and @ng-click="selectedRun(record.file_name, record.run_status);"])>0][position()<=3]
回报:
Element='<td class="col-xs-0">
<input type="checkbox" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>'
Element='<td class="col-xs-0">
<input type="checkbox" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>'
Element='<td class="col-xs-0">
<input type="checkbox" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>'
,其中作为XPath的//td[@class="col-xs-0" and count(child::*[name()="input"][@type="radio" and @ng-click="selectedRun(record.file_name, record.run_status);"])>0][position()<=2]
回报:
Element='<td class="col-xs-0">
<input type="radio" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>'
Element='<td class="col-xs-0">
<input type="radio" ng-click="selectedRun(record.file_name, record.run_status);" />
</td>'
在第一眼你的例子看起来是正确的。请用可以复制问题的例子扩展您的问题...选择例如只是前两个节点。 – Markus