2017-01-13 4 views
0

При использовании Chosen выбранный элемент скрывается и не может быть выбран путем генерации кода. Я пробовал так:Доступ к кодовому признаку Выбранный выбор

$I->selectOption('form select[name="jform[plugin_id]"]', array('value' => '10054')); 

или это:

$I->selectOption('div#jformplugin_id_chzn .chzn-results', 'Optimizer'); 

или это:

$I->click(['css' => 'div#jformplugin_id_chzn']); 
$I->fillField(['xpath' => '//div[@id="jformplugin_id_chzn"]/div/div/input'], 'Optimizer'); 
$I->click(['xpath' => '//div[@id="jformplugin_id_chzn"]/div/ul/li[1]']); 

Ничего на самом деле не работает.


Вот HTML-код я пытаюсь получить доступ:

<select id="jformplugin_id" name="jform[plugin_id]" style="display: none;"> 
     <option value="" selected="selected">- Selection -</option> 
     <option value="10037">test3</option> 
     <option value="10038">test2</option> 
     <option value="10054">Optimizer</option>  
     <option value="10058">test1</option> 
    </select> 

    <div class="chzn-container chzn-container-single chzn-container-single-nosearch" title="" id="jformplugin_id_chzn"><a class="chzn-single" tabindex="-1"><span>- Selection -</span><div><b></b></div></a> 
    <div class="chzn-drop"> 
     <div class="chzn-search"><input type="text" readonly=""></div> 
     <ul class="chzn-results"> 
      <li class="active-result result-selected" style="" data-option-array-index="0">- Selection -</li> 
      <li class="active-result" style="" data-option-array-index="1">test3</li> 
      <li class="active-result" style="" data-option-array-index="2">test2</li> 
      <li class="active-result" style="" data-option-array-index="3">Optimizer</li> 
      <li class="active-result" style="" data-option-array-index="4">test1</li> 
     </ul> 
    </div> 
</div> 

ответ

0

Попробуйте что-то вроде этого: $ I-> executeJS ("document.querySelector ('#' jformplugin_id) .style.display = block; ");

0

Вы не можете использовать ни один из ваших методов для невидимых элементов. Единственный способ изменить значение выбора является выполнение Javascript, что-то вроде этого:

$I->executeJS('document.getElementById("jformplugin_id").value = 10054;'); 

Кстати на больших выбирает с большим количеством опций выбирающих значение с помощью Javascript является много быстрее, чем с помощью встроенного в методе selectOption.

Смежные вопросы