2015-03-13 156 views
1

我想使用硒從下拉菜單中選擇一個項目。該項目使用jsf,primefaces,spring。下拉列表顯示在列表中。 贊。從Selenium的下拉菜單中選擇一個項目

<div id="mydropdown"> 
    <ul> 
     <li>03<li> 
     <li>04</li> 
     <li>23</li> 
     <li>24</li> 
     <li>30</li> 
    </ul> 
</div> 

因爲我要選擇硬編碼的第n個<李>內的隨機值來選擇,我寫的代碼

String selectItem ="03"; 
driver.findElement(By.xpath("//div/ul/li[contains(.,'"+selectItem+"')])")); 

但輸出是:

[ <li>03<li>, 
    <li>23</li>, 
    <li>30</li> ] 

它選擇所有<li>項目包含3.我不考慮之前的零3.

我的問題是:如何得到只有[ <li> 03 </li> ]的輸出?

+0

你有一個不平衡的收官之支架。這是錯字嗎? – SiKing 2015-03-13 21:56:42

+0

是的。這是一個錯字。我會糾正它..謝謝你.. – 2015-03-14 15:20:58

回答

2

檢查的精確匹配:

driver.findElement(By.xpath("//div/ul/li[.='" + selectItem + "']")); 
+0

謝謝..它也適用於driver.findElement(By.xpath(「/ div/ul/li [text()='」+ selectItem +「']」) ); – 2015-03-16 04:17:50

-3
Select oSelection = new Select(driver.findElement(By.locator("YOURDROPDOWNLOCATOR"))); 

oSelection.selectByVisibleText("YOURDESIREDCHOICE"); 
+0

使用'Select'對象只能在HTML'select'元素上使用。 OP的HTML使用'ul'。 – Louis 2015-03-14 11:42:02

相關問題