2013-05-20 4 views
0

확인란을 클릭 할 수없는 것 같습니다.
콘솔에 오류가 없으면 클릭 수는 표시되지만 확인란은 선택되어 있지 않습니다.
clickcheck을 모두 사용해 보았지만 어느 것도 체크 박스를 선택하지 않은 것 같습니다. IDE 레코더에서 제안한대로 데이터베이스 ID (102)를 사용하면 각 실행마다 ID가 변경되므로 옵션이 아닙니다.셀렌 선택기 - 확인란을 선택하는 방법?

시도 : css=fieldset.choices ol li label input 내 위치 찾기.

나는 또한 시도했다 : //fieldset[@class='choices']//ol//li//label//input 그리고 다시 콘솔에 클릭했지만 실제로 브라우저에 체크 표시가되지 않는다.

또한 시도 : //input[@type='checkbox'] 그것은 화면의 첫 번째 checlbox이기 때문에 선택자를위한 행운은 있지만 명시 적 오류는 없습니다.

HTML은 다음과 같습니다

<fieldset class="choices"> 
    <legend class="label"> 
    <label> 
     Grades 
    </label> 
    </legend> 
    <input id="school_grades_none" type="hidden" value="" name="school[grade_ids][]"> 
    </input> 
    <ol class="choices-group"> 
    <li class="choice"> 
     <label for="school_grade_ids_102"> 
     <input id="school_grade_ids_102" type="checkbox" value="102" style="border: none" name="school[grade_ids][]"> 
     </input> 
     PK3 
     </label> 
    </li> 
    <li class="choice"> 
    ... 
    </li> 
    <li class="choice"></li> 
    ... 
    </li> 
    <li class="choice"></li> 
    ... 
    </li> 
    ... 

답변

1

방법 대신 XPath는 또는 CSS를, 당신의 로케이터로 id=school_grade_ids_102를 사용하는 경우에 대해.

UPDATE

어떻게 그렇게

//input[contains(@id, 'school_grade_ids_')] # add [1] or [2], etc. at the end 
+0

질문에 표시된 옵션이 아니지만 감사합니다. –

+0

죄송합니다. – Amey

+0

편집했습니다. 그게 뭔지 알려주면 – Amey

0
setCheckboxValue(By.id("checkboxId"), true /* or false*/); 

public void setCheckboxValue(By by, boolean checked) { 
     WebElement e = getDriver().findElement(by); 
     if(!e.isSelected() && checked) { 
      e.click(); 
     } 
    } 
+0

감사처럼 contains를 사용하지만 그냥이 IDE에 넣고 것 IDE를 사용하여 Java/C를 사용하지 않는 대해? –

관련 문제