Prawdopodobnie dość sformułowałem to dość bardzo, ale mam klasę <ul> i jest wiele <li> wewnątrz elementu, chciałbym wydrukować pierwsze wejścia pięć {x2}}, ale nie jestem pewien jak o to pójść. Jestem w stanie wydrukować indywidualne wpisy za pomocą .get(1) itp., Ale nie jestem pewien, jak używać .get(1)``.get(2)``.get(3) razem lub jeśli jest to nawet możliwe. W ten sposób zbliżam się do tego w moim pliku obiektu

checkFigures (figures) {
browser.sleep(8000);
   var checkBalance = element.all(by.css('ul.legend-numbers> li')).get(1);
	checkBalance.getText().then(function (text) {
      console.log(text);
     //prints 2nd <li> item
});
}

To jest HTML

<ul class="deposit">
		<li>52,694.85</li>
        <li>21,779.65</li>
        <li>12,086.61</li>
        <li>358,314.56</li>
        <li>47,801.12</li>
        <!--anchor-->
</ul>
1
Edmond 23 czerwiec 2017, 21:04

3 odpowiedzi

Najlepsza odpowiedź

Możesz zadzwonić do. () Na elementarrayfinder. z filtrem () lub mapą () możesz uzyskać elementy, których szukasz. Kątomierz Element.TS

$('ul.deposit').$$('li') //get parent ul then all child li
            .filter((elements, index) => { //filter out the first 5 elements
                return index < 5
            })
            .each((element, index) => { //for each of the 5 elements do the following. (order is not guaranteed)
                return element.getText().then((text) => {
                    console.info(index + " - " + text)
                })
            });
1
Barteld 26 czerwiec 2017, 18:18
var combined = '';
function combineText(a){
  combined = ( combined.concat(' ') ).concat(a);
}
var checkBalance = element.all(by.css('ul.legend-numbers> li'));
for(var i = 0; i < 5; i++){
  combineText(checkBalance[i].getText());
}
browser.driver.sleep(0).then(function () {
  console.log(combined);
});
0
bdf7kt 25 czerwiec 2017, 17:27

Jest selektor CSS ": LT" (mniej niż), który może być używany z jQuery.

$("ul.deposit li:lt(5)").size(); //5

Czy możesz go użyć?

$("ul.deposit li:lt(5)").each(
    function(i){ 
        console.info(i + " - " + $(this).text()); 
});
0
Jairton Junior 23 czerwiec 2017, 18:42