2016-07-21 4 views
-1

Ich versuche, eine Element-ID zu GWT Checkbox mit fließenden Optionen, keiner von ihnen zuweisen ID zu ckeckbox, aber Wrapped-Span-Element.Einstellung GWT CheckBox Element ID

DOM.setElementAttribute(testCheckbox.getElement(), "id", "testCheckboxId"); oder

testCheckbox.getElement().setId("testCheckboxId"); 

kompilierte HTML wie folgt aussieht:

<span id="testCheckboxId" class="gwt-CheckBox"> 
    <input id="gwt-uid-328" type="checkbox" value="1" tabindex="0" checked=""> 
    <label for="gwt-uid-328"></label> 
</span> 

Antwort

2

Firs aller Sie sollten nicht die id eines Eingabeelements für CheckBox ändern. Wie Sie sehen können, verwendet das label Element dieses id in for Attribut.

können Sie erhalten und die id von GWT Set verwenden:

((Element)(testCheckbox.getElement().getFirstChild())).getId() 
-- or -- 
testCheckbox.getElement().getElementsByTagName("input").getItem(0).getId() 

Sie auch die id so einstellen können, aber ich würde es nicht empfehlen tun:

((Element)(testCheckbox.getElement().getFirstChild())).setId("xxxxxx"); 
-- or -- 
testCheckbox.getElement().getElementsByTagName("input").getItem(0).setId("xxxxxx"); 

Wenn Sie die id ändern müssen, sollten Sie auch das for Attribut in label Element ändern:

((LabelElement)(testCheckbox.getElement().getLastChild())).setHtmlFor("xxxxxx"); 
-- or -- 
((LabelElement)(testCheckbox.getElement().getElementsByTagName("label").getItem(0))).setHtmlFor("xxxxxx"); 
+0

Ich wechselte Eingabeelemente IDs für Selen-Webdriver-UI-Test. Übrigens, testCheckbox.getElement(). GetElementsByTagName ("Eingabe"). GetItem (0) .setId ("newIDForCheckbox_"); Dieses Bit funktioniert wie Sie vorgeschlagen haben. Danke Adam. – amlsoft

0

Sie setzen die Element-ID korrekt.

Obwohl es die ID auf das span-Tag setzt, können Sie es mit selen webdriver verwenden. Sie müssen die folgende Methode verwenden, um sie zu finden.

webdriver.findElement(By.xpath, <xpath>) 

Es funktioniert gut.

In ähnlicher Weise können Sie für eine Textbox ein Element finden, das xpath verwendet, und die Methode "sendKeys()" verwenden, um Werte zu übergeben.

Verwandte Themen