How to enter values to group of textfields in a table using selenium

Viewed 3225

I want to enter values to a group of text fields using selenium in a table as shown below. enter image description here

I tried in this way but it didn't work and raise an InvalidElementStateException.

 List<WebElement> marks = driver.findElements(By.xpath(".//table/tbody/tr/td/input"));
    for (WebElement mark : marks) {
    mark.sendKeys("10");
    }

EDIT : In my html, the td contains an extra hidden inputs also.

<tbody>
<tr class="text-center student-mark" id="1">
    <td class="text-left">Name</td>

    <td class="activityTableBody hidden" >
        <input type="text" class="table-input 55630af2a0c4655a1ce06fcd_classTest" 
               id="55630af2a0c4655a1ce06fcd_classTest_556da05c699e70287ca203b0_classTest" value="0">
    </td>

    <td class="activityTableBody" >
        <input type="text" class="table-input 55630af2a0c4655a1ce06fcd_activity1" 
               id="55630af2a0c4655a1ce06fcd_activity1_556da05c699e70287ca203b0_Task-1" value="0">
    </td>

    <td class="activityTableBody" >
        <input type="text" class="table-input 55630af2a0c4655a1ce06fcd_activity2" 
               id="55630af2a0c4655a1ce06fcd_activity2_556da05c699e70287ca203b0_Task-1" value="0">
    </td>

    <td class="activityTableBody">
        <input type="text" class="table-input 55630af2a0c4655a1ce06fcd_activity3" 
               id="55630af2a0c4655a1ce06fcd_activity3_556da05c699e70287ca203b0_Task-1" value="0">
    </td>

    <td class="activityTableBody" >
        <input type="text" class="table-input 55630af2a0c4655a1ce06fcd_activity4" 
               id="55630af2a0c4655a1ce06fcd_activity4_556da05c699e70287ca203b0_Task-1" value="0">
    </td>

    <td class="activityTableBody" >
        <input type="text" class="table-input 55630af2a0c4655a1ce06fcd_activity5" 
               id="55630af2a0c4655a1ce06fcd_activity5_556da05c699e70287ca203b0_Task-1" value="0">
    </td>

    <td class="tableBodySA hidden" >
        <input type="text" class="table-input 55630af2a0c4655a1ce06fcd_markSA"   value="0">
    </td>
    <td class="tableBodySA hidden" *emphasized text*>
        <input type="text" class="table-input saMark 55630af2a0c4655a1ce06fcd_markSA100" width="20%"  value="0">
    </td>

</tr>
.
.
</tbody>
2 Answers
Related