1

セレンのgetText()に関する混乱があります。以下に、Webページスニペットを示します。入力のgetText()がテキストを返さない

<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> 

以下のスニペットを使用してラジオボタンのテキストを印刷しようとしています。

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()); 
    } 

このコードではテキストは印刷されません。誰もこれに何が間違って示唆することができますか?など

あなたはDIV、スパンのために使用されている getAttribute("value")代わりの getText()を使用する必要があるの入力やtextareaのための
+0

を使用する必要がありますので、入力には「内部テキスト」はありません。あなたはどんな価値観を期待していましたか? – user2864740

答えて

2

getText()は要素

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

しかしinputタグはできませんが保持しているのinnerTextを返します。何かを保持する。その目的のために設計されていません。それはボイド要素と呼ばれます。入力はvalue属性でテキストを保持しているとして

入力がgetText()

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

を使用するには、このように動作しません、あなたは出力が正しいgetAttribute("value")

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

関連する問題