javascript - Returning json object nightwatch.js -


i want execute json object html ul list this

{name: "nick", surname:"kyrgios", age: "22", city: "sydney"}, {....}, {....} 

this html part

<html> <ul>   <li class="user">     <div class="name">nick</div>     <div class="surname">kyrgios</div>     <div class="age">22</div>     <div class="city">sydney</div>   </li>   <li class="user odd">     <div class="name">nick</div>     <div class="surname">kyrgios</div>     <div class="age">22</div>     <div class="city">sydney</div>   </li> </ul> </html> 

my nightwatch js file

browser.elements('css selector','ul li', function (result) {   els = result.value;   var = 0;   els.foreach(function(el, j, elz){     browser.elementidtext(el.element, function(text) {       console.log(text)     })   }) }) 

this execute

{ state: 'success',   sessionid: 'cdfdda85-4348-4692-9ad0-2a5d10080a27',   hcode: 151444186,   value: 'nick\nkyrgios\n22\nsydney',   class: 'org.openqa.selenium.remote.response',   status: 0 } { state: 'success',   sessionid: 'cdfdda85-4348-4692-9ad0-2a5d10080a27',   hcode: 118749018,   value: 'nick\nkyrgios\n22\nsydney',   class: 'org.openqa.selenium.remote.response',   status: 0 } 

the main question how can change normal json format

{name: "nick", surname:"kyrgios", age: "22", city: "sydney"}, {....}, {....} 

every time run console.log - automatically getting carriage return. each call console.log moves down 1 line.

you should appending results string

    var jsonstring = "";     els.foreach(function(el,j,elz) {       browser.elementidtext(el.element, function(text) {         jsonstring += text;     }) console.log(jsonstring); 

Comments