Геб меняет значение атрибута

Я хочу знать, как правильно изменить значение любого атрибута элемента в geb (селен).

Например, у меня есть такой элемент:

static content = {
    radioSelect(wait: true) { $('input[name=rr]')}
}

Теперь я хочу установить какой-нибудь атрибут. Хорошего способа не нашел, использую обходной путь:

(driver as JavascriptExecutor).executeScript( "document.getElementsByName('rr')[0].setAttribute('checked', true)" )

Есть другой способ? Нравится radioSelect.setAttribute?


person Peter    schedule 14.04.2016    source источник


Ответы (1)


Используйте интеграцию с jQuery, предлагаемую Geb:

radioSelect.jquery.attr("checked", true)

Это эквивалент

js.exec 'jQuery("input[name=rr]").attr("checked", true)'

Но будь осторожен:

Интеграция с jQuery работает только тогда, когда страницы, с которыми вы работаете, включают jQuery, Geb не устанавливает его на страницу за вас. Минимальная поддерживаемая версия jQuery - 1.4.

person Alin Pandichi    schedule 14.04.2016