Select Selenium 下拉列表中的一个项目

Select an item from dropdown in Selenium

我想 select 使用 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>

因为我想 select 硬编码第 n 个

  • 中的随机值 selected,所以我将代码写为

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

    但输出是:

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

    它select所有

  • 项目包含 3。我不考虑 3 之前的零。

    我的问题是:如何获得像 [ <li> 03 </li> ] 这样的输出?

  • 检查是否完全匹配:

    driver.findElement(By.xpath("//div/ul/li[.='" + selectItem + "']"));
    
    Select oSelection = new Select(driver.findElement(By.locator("YOURDROPDOWNLOCATOR")));
    
    oSelection.selectByVisibleText("YOURDESIREDCHOICE");