2016-09-12 5 views
0

다음 코드에서 보이지 않는 드롭 다운 목록 드롭을 선택하는 방법?드롭 다운 목록 상자 보이지 않는 항목 선택

<div id="form:munit_panel" class="ui-selectonemenu-panel ui-widget ui-widget-content ui-corner-all ui-helper-hidden ui-shadow" style="width: 125px; display: block; top: 177px; left: 798.267px; z-index: 1006;"> 
<div class="ui-selectonemenu-items-wrapper" style="height:200px"> 
<ul id="form:munit_items" class="ui-selectonemenu-items ui-selectonemenu-list ui-widget-content ui-widget ui-corner-all ui-helper-reset" role="listbox" aria-activedescendant="form:munit_0"> 
<li id="form:munit_0" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all ui-state-highlight" role="option" tabindex="-1" data-label="No Unit">No Unit</li> 
<li id="form:munit_1" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="Bag">Bag</li> 
<li id="form:munit_2" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="Load">Load</li> 
<li id="form:munit_3" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="Litre">Litre</li> 
<li id="form:munit_4" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="Each">Each</li> 
<li id="form:munit_5" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="Unit">Unit</li> 
<li id="form:munit_6" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="Nos">Nos</li> 
<li id="form:munit_7" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="R.feet">R.feet</li> 
<li id="form:munit_8" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="Sq.ft">Sq.ft</li> 
<li id="form:munit_9" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="Kgs">Kgs</li> 
<li id="form:munit_10" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="feet">feet</li> 
<li id="form:munit_11" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="ml">ml</li> 
<li id="form:munit_12" class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" role="option" tabindex="-1" data-label="Mts">Mts</li> 
</ul> 
</div> 
</div> 

나는 드롭 다운을 선택 마지막 옵션이 셀레늄 코드를 시도 :

public void selectOneMenu(String idPrefix, String value) { 
     if (StringUtil.isNotBlank(value)) { 
      driver.findElement(By.id(idPrefix + "_label")).click(); 
      driver.findElement(
        By.xpath("//div[@id='" + idPrefix 
          + "_panel']/div/ul/li[text()='" + value + "']")) 
        .click(); 
     } 
} 

drop down list box, with invisible list snap

+0

?? 그리고 당신은 지금까지 무엇을 시험해 보았 느냐? –

+0

드롭 다운 목록 상자에서 마지막 옵션을 선택해야합니다. 드롭 다운 상자를 클릭하면 12 번째 항목이 보이지 않습니다 !! – Naveen

+0

지금까지이 코드를 시도했습니다! 1 – Naveen

답변

0

당신은 dropdown를 클릭 한 후 클릭 할 때까지이 dropdown 옵션을 볼 수 기다릴 수 있도록 WebDriverWait를 사용하여 시도해야 -

public void selectOptionsByIdFromDropdown(String dropdownId, String optionsId) { 

    WebDriverWait wait = new WebDriverWait(driver, 10) 

    //First click on dropdown menu 
    WebElement dropdown = wait.until(ExpectedConditions.elementToBeClickable(By.id(dropdownId))); 
    dropdown.click(); 

    //Now wait until nested option to be present by id 
    wait.until(ExpectedConditions.presenceOfNestedElementLocatedBy(dropdown, By.id(optionsId))).click(); 
} 

사용법 : -

나는 상자 12 항목 드롭 다운을 클릭 .when 드롭 다운 목록 상자에서 마지막 옵션을 선택해야합니다

가 보이지 않을 당신이 보이지 않는 항목을 의미합니까 무엇

selectOptionsByIdFromDropdown("form:munit_panel", "form:munit_12"); 
+0

It doesnt work..i timedoutException이 발생했습니다. – Naveen

+0

동적으로 옵션 요소가 생성 되었습니까 ?? 'presenceOfNestedElementLocatedBy'를 사용하여 한 번 시도해보십시오. 업데이트 된 답변보기, –

+0

@Naveen 그리고 여기에서 ID가 동적으로 변경되면 원하는 옵션 텍스트가있는'xpath'를'By.xpath (".// li [text() = 'Mts ']')'()'대신'By.id()'옵션을 사용합니다 .. –

관련 문제