2013-11-28 47 views
0

如何使用xpath獲取值「3」?我已經嘗試過,但我直到無法獲得值「3」的結果說路徑未找到。也是我的數據列表正確嗎?如何使用xpath獲取「值」並放入數組?

   List4 = new ArrayList<String>(); 
       driver.findElement(By 
         .xpath(".//*[@id='fileRef']/tbody/tr[1]/td[1]/div/span/@value")); 
       List4.add("@value"); 
       System.out.println(List4); 



<tr class="rowOdd"> 
<td style="width:25"> 
<div id="uniform-fileRefSysId_3" class="radio"> 
<span> 
<input id="fileRefSysId_3" type="radio" value="3" onclick="javascript:setFileRef(this.id);" name="fileRef"/> 
</span> 
</div> 
<input id="fileRefTitle_3" type="hidden" value="CLT-02"/> 
<input id="fileRefNo_3" type="hidden" value="CLT-02"/> 
</td> 
<td>Consultant</td> 
<td>CLT-02</td> 
<td>CLT-02</td> 
</tr> 

回答

0

您正在尋找的xpath是.//*[@name='fileRef']/@value。您還需要告知driver將結果以某種方式放入列表中(請閱讀手冊!)。

+0

我已經嘗試過你的方法,但錯誤返回是這樣的。給定的選擇器.//*[@name='fileRef']/@value無效或不會導致WebElement。發生以下錯誤: InvalidSelectorError:xpath表達式「.//*[@name='fileRef']/@value」的結果是:[object XrayWrapper [object Attr]]。它應該是一個元素。 – sssheng

+0

@sssheng該xpath的結果是'3'。這是一種價值,而不是一種元素。使用接受值的驅動程序的不同方法或自己從輸入元素中提取值。 – LumpN

+0

兄弟你有什麼解決辦法嗎? – sssheng

相關問題