获取输入元素的显示文本

时间:2017-06-20 21:26:34

标签: javascript css angularjs selenium angular-material

我的网站正在使用Angular Material,它正在更改我在type =' time'中输入的文字格式。输入字段。我希望能够对此文本断言,但我找不到任何方法来提供实际文本。

我尝试过以下元素属性:value,valueAsDate,textContent,innerHTML。

我也试过了jqlite的val()方法。

这是一个展示我的问题的代码:https://codepen.io/carlins/pen/JJNJab

//displayed text is 02:57 PM
document.querySelector('input').value         // 14:57:00.000
document.querySelector('input').valueAsDate   // 1970-01-01T14:57:00.000Z
document.querySelector('input').textContent   // empty
document.querySelector('input').innerHTML     // empty
angular.element(document).find('input').val() // 14:57:00.000

2 个答案:

答案 0 :(得分:0)

你不应该从Element获得,而只是玩数据,如果你需要在视图中显示你可以使用过滤日期 {{time | date:'h:mm a'}} 如果您需要在Javascript中获得价值,只需使用time变量使用dateformat。

答案 1 :(得分:0)

您的输入具有日期时间值,因此您希望获得输入值时获得日期时间。在角度中,您可以使用日期过滤器来获取日期字符串。我尝试过作品here

日期过滤器参考:https://docs.angularjs.org/api/ng/filter/date

$scope.timeInnerHTML = function(){
      return $scope.time;
 }

"{{timeInnerHTML() | date:'@h:mma'}}"