2015-06-02 32 views
3
<tr id="item" ng-repeat="item in itemList> 
    <td id="code" ng-repeat="column in columns">Some Text</td> 
</tr> 

我見過其他一些類似的問題,但我還沒有解決它。 那是什麼我試過到目前爲止:如何使用量角器按文字查找並點擊表格元素?

element.all(by.repeater('column in columns')).findElement(by.id('code')).getText('Some Text').click(); 

編輯:

<tr ng-repeat="item in items> 
<td>{{item.name}}</td> 
<td>{{item.description}}</td> 
</tr> 

導致:

<tr> 
<td>Some Name</td> 
<td>Some Text</td> 
</tr> 
<tr> 
<td>More Name</td> 
<td>More Text</td> 
</tr> 

等等等等

+0

我覺得**量角器**出現在圖片中,當您準備發出'$ http'請求時。 –

+0

​​將在循環中獲得相同的ID,請嘗試並使用findElement(by.id('row_0'))單擊第一行。如果您在整個頁面上都有唯一的「ID」,則無需在之前選擇by.repeater('列中的列')。我認爲 –

回答

4

您需要filter()的所需元素:

var columns = element.all(by.repeater('column in columns')); 
columns.filter(function (elm) { 
    return elm.getText().then(function (text) { 
     return text == 'Some Text'; 
    }); 
}).first().click(); 
+0

謝謝,量角器說,不能點擊未定義的,所以我認爲量角器沒有發現任何元素,但有我寫的文本元素 – skd

+0

我已經在第一篇文章做了一些更改,以更正確地在更多簡單的例子 – skd

相關問題