How to select all checkboxes with Selenium-WebDriver with javascript

1.5k Views Asked by At

I would like to select all checkboxes in a table, using javascript language in Selenium webdriver. I'm new to Selenium and I just can't find the right solution, so I would be grateful for any help.

PS. I have 10 rows in my table.

The html:

<tr role="row" class="odd">
   <td class="dt-row="0" dt-column="0"> 
     <span class="grid-select-row-span">        
       <label class="check">           
          <input type="checkbox" class="grid-select-row">
          <i></i>       
        </label>   
   </span>
</tr>
<tr role="row" class="even">
   <td data-dt-row="1" data-dt-column="0">
      <span class="grid-select-row-span">       
         <label class="check">         
            <input type="checkbox" class="grid-select-row">
               <i></i>     
         </label>   
      </span>
    </td>
 </tr> 

My selenium code:

driver.findElements(By.css("grid-select-row")).then(function (elements) { 
     elements.forEach(function(element) {
          console.log(elements.length);
         if(!element.Selected)
         {
             driver.actions() .
             mouseDown(element) .
             click(element);

            // element.click();
         }
     });              
    });
1

There are 1 best solutions below

8
Andersson On

To point to element with some class you should use form .className, but not just className, so try this CSS selector instead:

input.grid-select-row