从Selenium的下拉菜单中选择一个项目

问题描述:

我想使用硒从下拉菜单中选择一个项目。该项目使用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

检查的精确匹配:

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

谢谢..它也适用于driver.findElement(By.xpath(“/ div/ul/li [text()='”+ selectItem +“']”) ); – 2015-03-16 04:17:50

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