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
Post a Comment