输入中的getText()不返回文本

时间:2016-11-26 17:44:31

标签: java html selenium selenium-webdriver selenium-chromedriver

我对selenium中的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());
    } 

此代码不打印文本。有谁能说明这有什么不对吗?

2 个答案:

答案 0 :(得分:3)

对于输入或textarea,您需要使用getAttribute("value")而不是getText(),用于div,span等。

答案 1 :(得分:2)

getText()返回元素

所持有的innerText
<div id='someid'>
someText
</div>

但是input标记无法容纳任何内容。它不是为此目的而设计的。它被称为void element。

输入不能以这种方式使用getText()

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

由于输入包含值属性中的文本,因此您需要使用getAttribute("value")

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