我希望使用量角器得到html span中的id = 2504并将其显示在控制台日志中。这个id是动态生成的,所以id号可以一直不同。我的代码如下:
<span class="link ng-binding" ng-click="openTrackId(mapFeedBack.reportId)">Your tracking number is 2504</span>
请告知我该如何实现?
答案 0 :(得分:3)
您可以使用正则表达式从字符串中提取数字。请看下面的示例代码。
var id = element(by.css("span.link")).getText().then(function(text){
return text.replace(/[^0-9]+/g, "");
})
答案 1 :(得分:0)
在跨文本中,如果ID是最后写的东西,你可以做
var textTokens = text.split(" ");
var Id = textTokens[textTokens.length - 1];
console.log(Id);
使用量角器可以做到
element.all(by.tagName('span').get(0).getText().then(function(text){
textTokens = text.split(" ");
var Id = textTokens[textTokens - 1];
console.log(Id);
});
请注意,如果您有多个跨度,则可以将上述代码放在循环中,并在控制台中显示每个span元素的Id。
element.all(by.tagName('span').count().then(function(spanCount){
for (var i = 0; i < spanCount; i++){
element.all(by.tagName('span').get(i).getText().then(function(text){
textTokens = text.split(" ");
var Id = textTokens[textTokens - 1];
console.log(Id);
});
}
});