我正在尝试访问子元素的text属性,但每次都获取null值。 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秒,页面正常加载但没有同步问题,但仍然出现错误。
任何帮助将不胜感激。
答案 0 :(得分:2)
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`