有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

因为我想在硬编码第n个<;李>;为了被选中,我将代码编写为

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

但结果是:

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

它选择全部<;李>;包含3个字符的项目。我在3之前没有考虑过零。

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


共 (2) 个答案

  1. # 1 楼答案

    检查是否完全匹配:

    driver.findElement(By.xpath("//div/ul/li[.='" + selectItem + "']"));
    
  2. # 2 楼答案

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