我想從第二列值中選擇表格中的特定元素(我刪除了呈現的空白處),並且在找到該元素後,我想單擊它(回報是真實的)。我試過這個,但它沒有點擊它,但只是找到了元素。TypeError:無法調用未定義的方法'點擊'
該字段我想選擇HTML代碼如下:
<table ng-table="tableParams" id="Panel" class="tbl-option-list" template-pagination="directives/controls/Pager/Pager.html">
<caption translate>Orders</caption>
<tr id="Panel">
<!-- 1 -->
<th class="fixed-width-glyphicon"></th>
<!-- 2 -->
<th translate>Identifier</th>
</tr>
<tr ng-repeat="item in $data track by $index" ng-class="{'active-bg': order.$selected}" ng-click="changeSelection(order, getRowActions(order))">
<!-- 1 -->
<td class="fixed-width-glyphicon">
<div class="fixed-width-glyphicon">
{{item.priority.toUpperCase()[0]}}
</div>
</td>
<!-- 2 -->
<td>{{item.identifierCode}}</td>
</tr>
</table>
從量角器的選擇命令是:
var deferred = protractorData.p.promise.defer();
element.all(by.repeater('item in $data track by $index')).filter(function(row) {
row.getText().then(function(txt) {
txt = txt.replace(/\s/g, '');
var found = txt.split('ID0001');
return found.length > 1;
});
}).then(function(elem) {
deferred.fulfill(elem[0]);
});
return deferred.promise;
}
我收到以下錯誤:
TypeError: Cannot call method 'click' of undefined.
能否請您添加與您的代碼的jsfiddle它會很容易調試;)在您嘗試單擊該元素似乎第一種觀點不被顯示。 – Radu
@Radu,Protractor是一個node.js模塊,它不會在JSFiddle中運行。 –
你可以添加你的代碼來點擊元素嗎?我想你是試圖點擊返回的承諾,而不是返回的元素。 –