1

我對selenium中的getText()有困惑。下面給出的是網頁片段。getText()on input is not returning text

<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()返回由元素

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

input標籤舉行的innerText不能抱什麼。它不是爲此目的而設計的。它被稱爲空元素。

輸入不工作,這種方式使用getText()

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

由於輸入持有的價值屬性的文本,您需要使用getAttribute("value")

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

3

輸入或textarea的,你需要使用getAttribute("value")代替getText()它用於DIV,跨度等