2016-04-14 5 views
0

Ich möchte wissen, wie man einen Attributwert eines Elements in geb (Selen) ändern kann.Geb Ändern eines Attributwerts

Zum Beispiel, ich habe dieses Element:

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

Jetzt möchte ich alle Attribute setzen. Ich habe keine gute Methode gefunden, ich verwende diese Problemumgehung:

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

Gibt es einen anderen Weg? Wie radioSelect.setAttribute?

Antwort

2

Verwenden Sie die jQuery integration von Geb angeboten:

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

Dies ist das Äquivalent von

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

Aber Vorsicht:

Die jQuery Integration funktioniert nur, wenn die Seiten Sie sind Arbeiten mit gehören jQuery, Geb installiert es nicht auf der Seite für Sie. Die minimal unterstützte Version von jQuery ist 1.4.