Программирую в Playwright в VScode на JS. Не могу дописать код с циклом

Суть кода: Добавить в массив праздники с сайта BambooHR. Праздники находятся в таблицах. Изначально показываются праздники 2024 года. Чтобы перейти к другим праздникам нужно нажать на локатор (href=“?year=2025”). Идет цикл, который пробегается по первой талице и записывает данные праздника в массив. Условно в первой таблице - 5 строк, а во второй - 2 строки. Код пройдет сначала по 5-ти строчкам, после перехода на другую таблицу он все равно идет по 5 строчкам, хотя должен идти по двум.
Локаторы этих таблиц одинаковы (class=“fab-Table fab-Table–hoverable js-HolidaySettings__table”).
Вот мой код

   const holi = [];
    const years = [ 2023, 2022, 2021]; // Adjust years as needed
    for (const year of years) {
      await page.waitForSelector('table tbody tr', { state: 'visible' });
      let holidayRows = await page.locator('table tbody tr').all();
      for (let i = 0; i < holidayRows.length; i++) {
          console.log(holidayRows.length);
          const row = holidayRows[i];
          const holidayNameCell = await row.locator('td:first-child a').first();
          const holidayLink = await holidayNameCell.getAttribute('href');
          await holidayNameCell.click();  
          const nameInput = await page.locator('#mui-1');
          const dateInput = await page.getByPlaceholder('mm/dd/yyyy');
          const name = await nameInput.getAttribute('value');
          const date = await dateInput.getAttribute('value');
          let location;
          if ((await page.$('//*[@id="filter-description"]/div/span')) !== null) {
                location = await page.locator('//*[@id="filter-description"]/div/span').textContent();
          } else {
                location = "All";
          }
    
          holi.push({ name, date, location });
          await page.getByRole('button', { name: 'Save' }).first().click();
          await page.waitForSelector('tbody tr', { state: 'visible' });
      }
            await page.locator(`[href="?year=${year}"]`).click();
            await page.waitForSelector('tbody tr', { state: 'visible' });
            console.log(holi);
            console.log("YEEEES");
    }
  });

Тут сложно понять без доступа к сайту :man_shrugging:

Если дело в том, что после перехода к 2025 старая таблица остается в DOM и селектор достает ее, то надо смотреть как сделать его точнее: использовать родительские элементы, …