1

У меня есть путаница относительно getText() в селене. ниже приведен фрагмент веб-страницы.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()); 
    } 

Этот код не печатает тексты. Может ли кто-нибудь предположить, что в этом плохого?

+0

Выход правильно, потому что входы не имеют «внутреннего текста». Какую ценность вы ожидали увидеть? – user2864740

ответ

2

getText() возвращает InnerText провел элемент

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

Но input тег не может держи что-нибудь. Он не предназначен для этой цели. Он называется элементом void.

вход не работает таким образом, чтобы использовать getText()

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

как ввод содержит текст в значение атрибута, необходимо использовать getAttribute("value")

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

3

для ввода или текстового поля, необходимо использовать getAttribute("value") вместо getText(), который используется для сНа, пролета и т.д.

Смежные вопросы