2016-02-27 105 views
1

我正在使用Selenium和Java編寫測試。我需要一個輸入元素中的文本:無法獲得「輸入」元素的值

<table class="boundaryFormAdd"> 
    <tbody> 
     <tr> 
      <td> 
       <input id="id_name" type="text" style="margin-top: 5px"> 
      </td> 
     </tr> 
    </tbody> 
</table> 

但你可以看到它既不具有value屬性也沒有任何內部文本。

我曾嘗試:

1)elementname.getAttribute( 「的innerHTML」)

2)elementname.getText()

+1

儘量不知道硒,但一個''字段的文本存儲在'value'屬性。 – Andreas

回答

3

注意input標籤沒有任何結束標記像</input>。他們沒有任何東西在裏面。這些被稱爲無效元素。所以getText()getAttribute("innerHTML") - 不會返回任何東西。

您可以使用getAttribute(attrname)方法訪問輸入元素的其他屬性。

來獲取值,與driver.findElement(..).getAttribute("value")

+0

爲什麼它在輸入屬性中沒有「值」時工作? – LoveJavaTwo

+0

默認值=「」。我確定有一個JavaScript代碼可以在運行時設置這個值。 – vins

+0

webelement可能具有哪些其他屬性? – LoveJavaTwo