Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
量角器查找AngularJS中具有多个div条件的元素_Angularjs_Testing_Selenium_Angularjs Ng Repeat_Protractor - Fatal编程技术网

量角器查找AngularJS中具有多个div条件的元素

量角器查找AngularJS中具有多个div条件的元素,angularjs,testing,selenium,angularjs-ng-repeat,protractor,Angularjs,Testing,Selenium,Angularjs Ng Repeat,Protractor,我试图通过检查多个条件来获取项目列表,例如想要获取文件计数 示例:如果我运行以下代码,我将得到结果6: element.all(by.repeater('releasenotefile in release.releasenotefiles')).count().then(function(count) { console.log(count); }); 但我只想要1.4版的计数,我尝试了下面的代码,它返回0: element.all(by.cssContainingText('.

我试图通过检查多个条件来获取项目列表,例如想要获取文件计数

示例:如果我运行以下代码,我将得到结果6:

element.all(by.repeater('releasenotefile in release.releasenotefiles')).count().then(function(count) {
      console.log(count);
});
但我只想要1.4版的计数,我尝试了下面的代码,它返回0:

element.all(by.cssContainingText('.list_subhead',"1.04 Release Title")).all(by.repeater('releasenotefile in release.releasenotefiles')).count().then(function(count) {
                  console.log(count);
});
以下是我的div结构:

------------
Release 1.4 <div class="accordion-section panel clearfix ng-scope" ng-repeat="release in app.releases" ng-class="{active: $first}">

Release note <div class="vz_list_container_01">

    File 1 <li class="bp ng-scope" ng-repeat="releasenotefile in release.releasenotefiles">
    File 2 
--------------

------------
Release 1.3

Release note

    File 3

--------------

------------
Release 1.2

Release note
    File 4 
    File 5
    File 6 
--------------
------------
第1.4版
发行说明
文件1
  • 文件2 -------------- ------------ 第1.3版 发行说明 文件3 -------------- ------------ 第1.2版 发行说明 文件4 文件5 文件6 --------------
  • 我将通过repeater获取所有信息,并使用+筛选出仅适用于1.4版的结果:

    element.all(by.repeater('releasenotefile in release.releasenotefiles')).filter(function (elm) {
        return elm.evaluate("release").then(function (release) {
            return release.number === "1.4";
        });
    });
    

    注意,作为一个示例,我假设范围中的
    release.number
    变量是一个发布版本号-检查范围中的哪个变量负责保持发布版本号。

    您的查询看起来有效,但我建议您编写
    元素(by.cssContainingText(…)。all(…)
    并检查
    元素(by.cssContainingText(…)
    是否使用
    量角器--elementExplorer确实找到了所需内容