Trushita Gadkari
Trushita Gadkari

Reputation: 11

Unable to click on Select link present in last column of web table

I want to search Seller and have to click on select link for selected one. When I type seller name, it shows only record for selected seller.

web table with search text box

I tried with following code, its not working. Can anyone please help

    cy.get('input[name="search"]',{ timeout: 10000 }).type(this.data1.vehicle1_seller1)
    //cy.wait(6000)

     Cypress.config('defaultCommandTimeout', 10000);
     cy.get('td[class="span-3"] div').each(($el, index, $list) => {

     if ($el.text().includes('STB002')) {
        // cy.contains("Select").eq(index).click()
     cy.get('.span-1-5 > div > a > span').contains('select').eq(index).click({force:true})
   }
}

only one row is displayed after search

this is the DOM structure >

DOM structure

<table>
  <tbody>
    <tr class="even">
      <td class="span-3">
        <div title="06V001">06V001</div> == $0
      </td>
      <td>
        <div title="06 Vauxhall Ormskirk">06 Vauxhall Ormskirk</div>
      </td>
      <td class="span-1-5">
        <div>
          <a id="link57" href="./wicket/page?7-1.-seller-table-body-rows-10-cells-3-cell-link"> 
            <span>select</span> 
          </a>
        </div>
      </td>
    </tr>
    <tr class="odd">

    </tr>
    <tr class="even">

    </tr>
  </tbody>
</table>

Upvotes: 1

Views: 48

Answers (1)

Paolo
Paolo

Reputation: 5461

The HTML table is set out in rows and cells, exactly as you see it on the screen.

Your test is searching for the cell containing the text, but really you want to search for the row containing the text, then get the select button of that row.

The basic test would be

cy.contains('tr', 'STB002')
  .within(() => {
    // now inside the row
    cy.contains('span', 'select').click()
  })

The next problem is the car STB002 isn't on the first page, so you won't find it straight after loading.

Maybe use the search box to load that row (as you have in one screen-shot). I can't say what that code is, because the DOM picture doesn't include the search box.

Upvotes: 2

Related Questions