WebDriver如何选择特定的LI项

时间:2015-08-27 18:25:26

标签: selenium

我想知道如何在这个LI列表中设置“suborg300”?

感谢您的帮助......

<div id="A3540:pocUserListingTable:0:rpt_sel_fname_panel" class="ui-selectonemenu-panel ui-widget-content ui-corner-all ui-helper-hidden ui-shadow">
  <div class="ui-selectonemenu-filter-container">
    <div class="ui-selectonemenu-items-wrapper" style="height:auto">
      <ul class="ui-selectonemenu-items ui-selectonemenu-list ui-widget-content ui-widget ui-corner-all ui-helper-reset">
        <li class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all ui-state-highlight ui-state-active" data-label="Clear Selection">Clear Selection</li>
        <li class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" data-label="suborg100">suborg100</li>
        <li class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" data-label="suborg300">suborg200</li>
        <li class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" data-label="suborg200">suborg300</li>
        <li class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" data-label="suborg400">suborg400</li>
      </ul>
    </div>
  </div>
</div>

以下是我尝试的两个元素...点击成功但未选择LI项目。

str5 = "//input[@id='A3540:pocUserListingTable:0:rpt_sel_fname_filter']";
str5 = "//input[@name='A3540:pocUserListingTable:0:rpt_sel_fname_editableInput']";
if(!driver.findElements(By.xpath(str5)).isEmpty())
{
  clickOK = false;
  try
  {
    driver.findElement(By.xpath(str5)).click();
    clickOK = true;
  }
 finally
 {
   if (clickOK)
   {
      System.out.println("click ok");
   }
   else
   {
     System.out.println("click failure");
   }
  }
}
else
{
  System.out.println("element not found");
}

2 个答案:

答案 0 :(得分:0)

试试这个:

WebElement dropdown = driver.findElement(By.xpath("//input[@id='A3540:pocUserListingTable:0:rpt_sel_fname_filter']"));

dropdown.click();

WebElement option = popup.findElement(By.xpath(".//li[@data-label='suborg300']"));

option.click();

答案 1 :(得分:0)

试试这个:

driver.findElement(By.xpath("//input[@id='A3540:pocUserListingTable:0:rpt_sel_fname_filter']")).click();

List<WebElement> list = driver.findElements(By.xpath(".//ul/li"));
for(WebElement option : list){
    String text = option.getText();
        if(text.equals("suborg300")){
            option.click();
            break;
        }
}
相关问题