Я не могу проверить два поля ввода html с флажком типа на веб-странице с помощью Geb.
HTML-код рассматриваемых полей показан ниже: <input id="yui-gen136" style="width: 50px;" class="assemble-document" type="checkbox">
(у другого есть id="yui-gen133").
Сначала я попробовал: $('input[type=checkbox]').click()
, но это не сработало... для двух полей, которые я хочу проверить.
С другой стороны, это сработало для другого поля ввода (на этой странице 3 таких поля), которое в html: <input id="riskCheckbox" value="false" onclick="onCheckBoxClick()" type="checkbox">
Прочитав руководство Geb по заполнению входных данных и флажков, а также некоторое обсуждение Стек о флажках в Geb здесь и там я пробовал такие навигаторы:
$("div[id*='assoc_packageItems-cntrl-currentValueDisplay'] input")
который вернул мне два интересующих меня объекта ввода. Затем я получил к ним доступ по отдельности с помощью идентификатора:
("div[id*='assoc_packageItems-cntrl-currentValueDisplay']").find("input[id='yui-gen136']")
а также:
("div[id*='assoc_packageItems-cntrl-currentValueDisplay']").find("input[id='yui-gen133']")
К сожалению, применение к ним .value(true)
, .value("true")
или .value('true')
, как предлагается в руководстве Geb и обсуждениях стека, привело к ошибке:
TypeError: $(...).find(...).value is not a function
Ни в этих двух полях, ни в каком-либо окружающем элементе нет кода Javascript.
Когда я как пользователь устанавливаю эти два флажка, я получаю сообщение на консоли "элемент не найден". Итак, я пошел по этому пути, и единственная странная вещь, которую я заметил, это то, что disabled=""
появляется в поле <input>
на секунду, когда я устанавливаю флажок. Чтобы поле <input>
выглядело так:
<input id="yui-gen136" style="width: 50px;" class="assemble-document" type="checkbox" disabled="">
Обычно внутри html-тега, который меня интересует, нет параметра «видимость».
Как в Geb обращаться с таким необычным флажком? Это проблема с опцией «отключить»?
РЕДАКТИРОВАТЬ здесь html часть окружающей формы. Проблема в том, что все эти элементы генерируются случайным образом.
<div id="page_x002e_data-form_x002e_task-edit_x0023_default_assoc_packageItems-cntrl-currentValueDisplay" class="current-values object-finder-list yui-dt form-element-border form-element-background-color">
<div class="yui-dt-mask" style="display: none; padding: 0em 0.5em;"></div>
<table id="yuievtautoid-0" summary="">
<colgroup></colgroup>
<thead></thead>
<tr id="yui-rec128" class="yui-dt-rec yui-dt-first yui-dt-even" style="">
<td class="yui-dt116-col-nodeRef yui-dt-col-nodeRef yui-dt-first" headers="yui-dt116-th-nodeRef " style="width: 50px;"></td>
<td class="yui-dt116-col-metadata yui-dt-col-metadata" headers="yui-dt116-th-metadata "></td>
<td class="yui-dt116-col-update yui-dt-col-update" headers="yui-dt116-th-update "></td>
<td id="yui-gen134" class="yui-dt116-col-download yui-dt-col-download" headers="yui-dt116-th-download "></td>
<td id="yui-gen136" class="yui-dt116-col-check yui-dt-col-check yui-dt-last" headers="yui-dt116-th-check ">
<div id="yui-gen138" class="yui-dt-liner" style="padding: 0em 0.5em;">
<input id="yui-gen137" class="assemble-document" type="checkbox" style="width: 50px;"></input>
</div>
</td>
</tr>
<tr id="yui-rec129" class="yui-dt-rec yui-dt-last yui-dt-odd" style=""></tr>
</tbody>
</table>