check for end of table by inspecting content instead of whether Next button is disabled

This commit is contained in:
Daniel Roth 2026-04-02 10:48:54 +00:00
parent a886911de4
commit 0009a50dc5

View file

@ -169,19 +169,25 @@ def go_to_assessment_details(page: Page, row: Locator) -> None:
logger.info("Assessment details page fully loaded")
def get_first_row_signature(page: Page) -> str:
first_row = page.locator("#assessmentDatatable tbody tr").first
return first_row.inner_text()
def go_to_next_page(page: Page) -> bool:
next_button: Locator = page.locator("#assessmentDatatable_next a")
first_signature_before = get_first_row_signature(page)
class_attr: Optional[str] = next_button.get_attribute("class") or ""
if "disabled" in class_attr:
logger.info("No more pages")
return False
next_button.scroll_into_view_if_needed()
next_button = page.locator("#assessmentDatatable_next a")
next_button.click()
page.wait_for_timeout(2000)
first_signature_after = get_first_row_signature(page)
if first_signature_before == first_signature_after:
logger.info("No page change detected - reached end of table")
return False
return True