Jak usunąć wszystkie wiersze z tabeli?

Jak usunąć wszystkie wiersze z tabeli?
MY
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 73
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?

Kopiuj
page .getByTestId(Projects.Edit.Objects.Actions)
  .first()
  .click();
page.getByText("Delete", { exact: true }).click();
Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
1

Co to za metoda getByTestId()?

MY
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 73
0

metody nie wrzucam, jedynie selektory, bo tu istota

opiszon
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 832
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.

PW
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
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:

Kopiuj
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ć.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.