无法从量角器

时间:2017-11-15 14:35:03

标签: javascript drop-down-menu jasmine protractor

这是我的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 个答案:

答案 0 :(得分:0)

要按文字选择,请使用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