Jak usunąć wszystkie wiersze z tabeli?

0

Piszę metodę w TS. Aktualnie usuwa pierwsza pozycje z tabeli (jest tam pare rekordow, 2 / 3), ,a chce by usuwala wszytskie wystapienia.

Jak ja zmienic? najlepiej?

page .getByTestId(Projects.Edit.Objects.Actions)
  .first()
  .click();
page.getByText("Delete", { exact: true }).click();
1

Co to za metoda getByTestId()?

0

metody nie wrzucam, jedynie selektory, bo tu istota

1

Gdyby tylko był jakiś związek metody first() z tym że usuwa się tylko pierwszy wiersz...

Być może ten getByTestId zwraca jakąś listę i da się po niej iterować. Choć jak byId to mam jednak nadzieję że zwraca 1 element albo 0, choć obecność metody first() trochę zastanawia.

2

To jest playwright i funkcja getByTestId.

Czyli zakładam, że to działa tak, klikasz na element z jakimś atrybutem data-testid, masz ich wiele (co jest błędem, testid powinno być unikatowe, ale nieważne), i otwiera Ci się coś z przyciskiem "Delete" który musisz kliknąć.

Można to zrobić tak:

for (const element of await page.getByTestId(Projects.Edit.Objects.Actions).all()) {
  await element.click();
  await page.getByText('Delete', { exact: true }).click();
}

Pod warunkiem, że kiedy klikasz na jeden z elementów z dataid = Projects.Edit.Objects.Actions. Pojawia się tylko jeden przycisk z "Delete" a pozostałe znikają.
Jeśli, nie to locatory musisz zagnieździć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1