代码之家  ›  专栏  ›  技术社区  ›  Prashant P

无法从量角器的ui列表下拉列表中选择选项值或文本

  •  0
  • Prashant P  · 技术社区  · 7 年前

    这是我的HTML代码:

    <div class="chosen-container chosen-container-single" style="width: 240px;" title="">
      <a class="chosen-single" tabindex="-1">
        <span>General Information</span>
        <div>
          <b></b>
        </div>
      </a>
      <div class="chosen-drop">
        <div class="chosen-search">
          <input type="text" autocomplete="off">
        </div>
        <ul class="chosen-results">
          <li class="active-result ng-binding" data-option-array-index="0" style="">Please select an option</li>
          <li class="group-result">General</li>
          <li class="active-result result-selected group-option" data-option-array-index="2" style="">General Information1</li>
          <li class="active-result group-option" data-option-array-index="3" style="">General Information2</li>
          <li class="active-result group-option" data-option-array-index="4" style="">General Information3</li>
          <li class="active-result group-option" data-option-array-index="5" style="">General Information4</li>
          <li class="active-result group-option" data-option-array-index="6" style="">General Information5</li>
          <li class="active-result group-option" data-option-array-index="7" style="">General Information6</li>
          <li class="active-result group-option" data-option-array-index="8" style="">General Information7</li>
          <li class="active-result group-option" data-option-array-index="9" style="">General Information8</li>
          <li class="active-result group-option" data-option-array-index="10" style="">General Information9</li>
          <li class="active-result group-option" data-option-array-index="11" style="">General Information10</li>
        </ul>
      </div>
    </div>
    

    能够点击下拉菜单

    reportdropdown=element(by.css('a.chosen-single'));
    

    使用以下代码进行了尝试:

    reportdropdown.all(by.css("li.active-result.result-selected.ng-binding")).get(1).click();
    

    请建议通过文本或索引选择选项的解决方案。 提前谢谢。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Ernst Zwingli    7 年前

    对于“按文本选择”,请使用 cssContainingText .

    同时,将定位器中的标识符减少为必要的标识符

    $('div.chosen-container-single').element(by.cssContainingText("li.active-result"), 'text of option to select').click();
    

    至于索引,只需替换 get(1) 具有 get(index) .

    $('div.chosen-container-single').all(by.css("li.active-result")).get(index).click();
    

    或者,如果您希望它成为定位器的一部分:

    $('div.chosen-container-single').element(by.css('li.active-result[data-opion-array-index="'+index+'"]"')).click();
    

    更新 : 我错过了,那是你的 <a> -标记不是的父级 <ul> reportdropdown 具有父元素。