如何通过量角器访问渲染的DOM对象

时间:2016-01-15 16:28:02

标签: javascript angularjs protractor

我刚刚开始学习量角器并且在从DOM对象获取文本时遇到问题。

以下是来自 AngularJS 应用

的div
"<div class="input-group application-item-field">
                    <input type="text" class="form-control ng-pristine ng-valid ng-touched" id="symbol" ng-model="ctrl.getApplication().company.symbol">

                </div>"

我正在尝试获取符号对象的文本,但它没有以span显示。

我试过

element(By.model('ctrl.getApplication().company.symbol')).getAttribute('class').then(function(text){
                        console.log(text);


                    });

但它没有返回文本。

我可以在开发人员工具上使用console.log(document.getElementById('symbol').value);来获取文本的价值。

请建议。

1 个答案:

答案 0 :(得分:1)

您不必总是使用Angular特定的定位器。 by.id将是一个完美的选择:

var symbol = element(By.id('symbol'));

要获取输入值,请使用.getAttribute()

symbol.getAttribute("value").then(function (value) {
    console.log(value);
});

如果要查看模型值,可以使用.evaluate()

symbol.evaluate("ctrl.getApplication().company.symbol").then(function (modelValue) { 
    console.log(modelValue);
});