如何从带有ng-model填充的文本的角度元素中获取文本

时间:2018-12-05 05:56:19

标签: javascript angularjs protractor

这是我要从中获取文本的输入。

使用ng-model更新文本(我认为)。

我无法从中获取文字或清除文字。

我正在使用量角器和茉莉花

<input type="text" placeholder="HH" ng-model="hours" ng-change="updateHours()"
       class="form-control text-center ng-pristine ng-valid
              ng-valid-hours ng-not-empty ng-valid-maxlength ng-touched"
       ng-readonly="::readonlyInput" maxlength="2" tabindex="1"
       ng-disabled="noIncrementHours()" ng-blur="blur()"
       autocomplete="off" style="">

有没有办法获取文本或清除文件,以便我自己输入一些值。

3 个答案:

答案 0 :(得分:0)

要清除输入文本,可以使用clear()函数,例如:

input=element(by.css('input.form-control.text-center.ng-pristine.ng-valid.ng-valid-hours.ng-not-empty.ng-valid-maxlength.ng-touched'));


input.clear();

如果您要在字段中输入文本:

input.sendKeys('my input')

答案 1 :(得分:0)

尝试一下:

var input = element(by.model('hours'));
var val = input.getAttribute('value');
input.clear();

但是我想指出属性ng-readonly="::readonlyInput",如果readonlyInput在组件中为true,则该属性将无法使用clear。 并且在执行getTextgetAttribute之前检查输入是否已填充值。

答案 2 :(得分:0)

尝试以下一项

var input = element(by.css('input.form-control.text-center.ng-pristine.ng-valid.ng-valid-hours.ng-not-empty.ng-valid-maxlength.ng-touched'));
//To enable the field click on it before getting the text
input.click();
//To get the text i.e: inner html of the element
input.getText();
//To clear the field
input.clear();

希望它可以帮助您...