的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