2013-05-20 49 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

如何當您使用id=school_grade_ids_102爲您的定位,而不是XPath或CSS。

UPDATE

你怎麼樣使用contains像這樣

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

不是問題中指出的選項,但謝謝。 –

+0

哎呀.. dint看到了! – 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

謝謝,但不是使用Java/C僅僅使用IDE,在那裏我會把這在IDE? –

相關問題