1

Ich habe eine Verwirrung bezüglich getText() in Selen. Unten ist das Webseiten-Snippet angegeben.getText() bei der Eingabe gibt keinen Text zurück

<input checked name=servClass type=radio 
value="Coach"> 
    <font face="Arial, Helvetica, sans-serif">Economy class <br> 
    <input 
    name=servClass type=radio value="Business"> 
    Business class <br> 
<input 
    name=servClass type=radio value="First"> 
    First class</font></font></td> 
    </tr> 

Ich versuche, den Radioknopftext mit dem folgenden Ausschnitt zu drucken.

List<WebElement> list1 = driver.findElements(By.name("servClass")); 
list1.get(1).click(); 
    for (int i=0;i<=2;i++) 
    { 
     System.out.println(list1.get(i).getText()); 
    } 

Dieser Code druckt nicht die Texte. Kann jemand vorschlagen, was falsch ist?

+0

Die Ausgabe korrekt ist zu verwenden, da Die Eingaben haben keinen "inneren Text". Welchen Wert (e) haben Sie erwartet? – user2864740

Antwort

2

getText() die Innertext durch das Element

<div id='someid'> 
someText 
</div> 

Aber input-Tag kann nicht gehalten zurück halte etwas. Es ist nicht für diesen Zweck ausgelegt. Es heißt leeres Element.

Eingang funktioniert nicht auf diese Weise getText()

<input id='someid'> text </input>

verwenden Als Eingabe den Text im Wert Attribut enthält, müssen Sie getAttribute("value")

<input id='someid' value='text'/>

3

für die Eingabe oder TextArea- Sie getAttribute("value") statt getText() verwenden müssen, die für div, Spanne verwendet wird, usw.

Verwandte Themen