Доступ к дочерним элементам в транспортире - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь получить доступ к текстовому атрибуту дочернего элемента, но каждый раз получаю нулевое значение.DOM выглядит так, как показано ниже

<div ng-repeater='abc'>
    <span class='xyz'>Mango</span>
</div>
<div ng-repeater='abc'>
    <span class='xyz'>Apple</span>
</div>

Я пробовал ниже код:

   var parent = element(by.repeater('abc'));
    var child = parent.all(by.xpath('//span[@class="xyz"]'));

    for (let index = 0; index < parent.count(); index++) {
      console.log("Value" + child.getText());
    }

Все время я получаю ошибку как Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.

Я ужепопытался увеличить время ожидания до 30 секунд, и страница загружается должным образом, без проблем с синхронизацией, но все равно появляется сообщение об ошибке.

любая помощь приветствуется.

1 Ответ

0 голосов
/ 25 апреля 2018
element.all(by.repeater('abc')).getText().then(function(txts){
   txts.forEach(function(txt){
      console.log(txt);
   })
})

// the `getText()` api will get visible text of all descendants of current element, 
// that's why parent node `div` can get the text on child node `span`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...