2017-11-15 19 views
0

의 UI 목록 드롭 다운 메뉴에서 옵션 값이나 텍스트를 선택할 수 없습니다 :이 내 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(); 

텍스트 또는 색인별로 옵션을 선택하는 해결책을 제안하십시오. 미리 감사드립니다.

답변

0

텍스트로 선택하면 cssContainingText을 사용하십시오.

또한 단지 get(index)get(1) 교체, 필요한 사람 인덱스에 관해서는
$('div.chosen-container-single').element(by.cssContainingText("li.active-result"), 'text of option to select').click(); 

에 로케이터에 idetifiers을 줄일 수 있습니다.

$('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(); 

UPDATE : 나는 당신의 <a> -tag가 <ul>의 부모 아니라고, 놓친 . 따라서 reportdropdown을 상위 요소로 대체하십시오.

+0

감사합니다. Ernst. 두 번째 옵션으로 시도 & 그것의 근무. –