从Selenium的下拉列表中选择一个项目

时间:2015-03-13 18:31:15

标签: java selenium primefaces selenium-webdriver

我想使用selenium从下拉列表中选择一个项目。该项目使用jsf,primefaces,spring。下拉列表html出现在列表中。 等。

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

因为我想在硬编码中选择随机值nth&lt; li&gt;为了被选中,我把代码编写为

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

但输出是:

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

选择所有&lt; li&gt;包含3的项目。我不认为3之前的零。

我的问题是:如何仅获得[ <li> 03 </li> ]之类的输出?

2 个答案:

答案 0 :(得分:2)

检查完全匹配:

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

答案 1 :(得分:-3)

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

oSelection.selectByVisibleText("YOURDESIREDCHOICE");