2015-01-09 24 views
1

我有3列「姓名」一表中,「姓氏」,「生日」,像這樣:量角器:返回對象的數組從表

<table id="table"> 
    <tr> 
     <td id="firstname">John</td> 
     <td id="lastname">Smith</td> 
     <td id="birthday">Jan 1 2014</td> 
    <tr> 
    <tr> 
     <td id="firstname">Bill</td> 
     <td id="lastname">Matthews</td> 
     <td id="birthday">Jan 2 2014</td> 
    <tr> 
</table> 

我想創建這樣的JSON表,就像這樣:

{ 
    firstname: "John", 
    lastname: "Smith", 
    birthday: "Jan 1 2014" 
}, 
{ 
    firstname: "Bill", 
    lastname: "Matthews", 
    birthday: "Jan 2 2014" 
} 

我想是這樣的:

​​
+0

我不明白,你能解釋一下應該返回? –

+0

那麼最新的問題? –

+0

最後一部分測試不能按預期工作。它返回[1,2],而不是JSON對象。 – Jason

回答

3

使用map(),從瓚報價gelog:

增加了地圖功能element.all到功能應用到每個 元素並返回轉換的結果。

解決承諾,如果有一個對象包含多個 承諾。將索引作爲第二個參數添加到地圖功能 回調中。

這裏的關鍵點是,它會解決多個承諾:

var items = element.all(by.tagName('tr')).map(function (tr) { 
    return { 
       firstname: tr.element(by.id('firstname')).getText(), 
       lastname: tr.element(by.id('lastname')).getText(), 
       birthday: tr.element(by.id('birthday')).getText() 
      }; 
}); 
+0

是的!謝謝! – Jason