0

Ich habe einige deaktiviert Textfeld mit einigen Werten basierend auf meiner vorherigen Eingabe automatisch ausgefüllt. Ich möchte überprüfen, ob die Werte für die automatische Eingabe meiner vorherigen Eingabe entsprechen. Aber ich kann den Wert nicht aus dem Textfeld mit .getText() oder .getAttribute() abrufen, da der Wert nicht im HTML-Code vorhanden ist.Wie Wert aus einem deaktivierten Textfeld erhalten, wenn der Wert nicht in ID oder in einem Attribut mit Java in Selenium Webriver

Im Folgenden ist der HTML-Code wurde Element prüfen mit:

<span class="ProductList_Row"> 
    <input type="text" class="ProductList_Price" style="width:97px" ***disabled*** data-validation="mandatory"> == $0 

Der Text ist Feld Auto mit dem Wert "100" nach meiner vorherigen Eingabe aufgefüllt wird. Aber wie kann ich überprüfen, ob der automatisch aufgefüllte Wert im deaktivierten Textfeld 100 ist?

+0

Wo können die "automatisch aufgefüllten Werte" gefunden werden, wenn 'der Wert im HTML-Code nicht vorhanden ist'? Um den erforderlichen Attributwert abzurufen, müssen diese Werte im DOM vorhanden sein. Dann können wir nur '.getText()' oder '.getAttribute()' – DebanjanB

Antwort

2

Das value-Attribut speichert den Inhalt eines Tags, unabhängig davon, ob er deaktiviert ist oder nicht. So können Sie es wie folgt tun:

driver.findElement(By.id("write_element_id_here")).getAttribute("value"); 

dieses Sie den Wert des Elements zurückkehren und dann können Sie mit dem Rest gehen. Hoffe, es hilft ..

+0

Danke verwenden. Es funktionierte. – Arjun

+0

Gerne helfen :) –

0

Es passiert manchmal und in solchen Fällen können Sie element.getAttribute("innerHTML") verwenden und Sie können dann die Ausgabe-Zeichenfolge verarbeiten.

1

In Ihrem Fall können Sie den folgenden Code helfen: Sie

value = driver.findElement(By.className("ProductList_Price")).getAttribute("value"); 

Hoffe, es hilft!

+1

Danke. Es funktionierte. – Arjun

+0

@Arjun, Sie sind herzlich willkommen! –

Verwandte Themen