需要使用量角器获取跨度数据

时间:2016-09-27 06:33:30

标签: node.js protractor

我希望使用量角器得到html span中的id = 2504并将其显示在控制台日志中。这个id是动态生成的,所以id号可以一直不同。我的代码如下:

<span class="link ng-binding" ng-click="openTrackId(mapFeedBack.reportId)">Your tracking number is 2504</span>

请告知我该如何实现?

2 个答案:

答案 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);
        });
    }
});