使用量角器从日历中选择 angular-ui 日期选择器值

Selecting angular-ui date-picker value from the calendar using Protractor

我的日期选择器结构如下:

<button type="button" class="date-picker-item">
 <span>1</span>
</button>
<button type="button" class="date-picker-item">
 <span>2</span>
</button>

等..

我正在尝试使用量角器 api 中的 by.cssContainingText。

element.all(by.cssContainingText('.date-picker-item > span', day))

但目前还没有选择它。我需要以不同的方式定位吗?

非常感谢。

在我的一个项目中,我写了这样的函数:

elementDate: function(inArray,object){
    var day = inArray.day.toString();
    var cYear = new Date();
    var cYear = cYear.getFullYear();
    var year = inArray.year;
    var month = inArray.month;
    object.click();
    element(by.css('.btn.btn-sm.btn-danger.uib-clear.ng-binding')).click().then(function(){
      return  object.click()
    });
    element(by.css('button[ng-click="toggleMode()"]')).click();
    if(cYear > year){
      for(var i = cYear; i > year; i--){

        object.element(by.css('.btn.btn-default.btn-sm.pull-left.uib-left')).click();
      };
    }
    else if (cYear < year) {

      for(var i = cYear; i < year; i++){
        object.element(by.css('.btn.btn-default.btn-sm.pull-right.uib-right')).click();
      };
    }
    else{
    }
    element(by.cssContainingText('.btn.btn-default', month)).click();
    element(by.cssContainingText('.uib-day .btn.btn-default.btn-sm', day)).click();
    return this;
  },

它需要 dataPicker 元素(例如,如果你有 2 个数据选择器,一个是 name="DatePick1" second name="DatePick2" 作为元素名称)和日期数组,我认为你应该只更改项目的 by.css 元素,我建议使用 fireBug 来这样做