fix: retry MH eligibility extraction to handle AngularJS late binding
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -213,6 +213,9 @@ class AutomationMassHealthEligibilityHistoryCheck:
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# AngularJS populates cell text after elements appear in the DOM.
|
||||||
|
# Retry a few times until a row with non-empty cell[2] is found.
|
||||||
|
for attempt in range(4):
|
||||||
for status_label, elig_flag in [("Eligible", "Y"), ("Ineligible", "N")]:
|
for status_label, elig_flag in [("Eligible", "Y"), ("Ineligible", "N")]:
|
||||||
rows = self.driver.find_elements(
|
rows = self.driver.find_elements(
|
||||||
By.XPATH,
|
By.XPATH,
|
||||||
@@ -240,6 +243,9 @@ class AutomationMassHealthEligibilityHistoryCheck:
|
|||||||
}
|
}
|
||||||
print(f"[extraction] MATCHED {status_label} → name='{full_name}' plan='{plan_name}'")
|
print(f"[extraction] MATCHED {status_label} → name='{full_name}' plan='{plan_name}'")
|
||||||
return extracted
|
return extracted
|
||||||
|
if attempt < 3:
|
||||||
|
print(f"[extraction] cells not yet populated (attempt {attempt + 1}), retrying...")
|
||||||
|
time.sleep(1.5)
|
||||||
|
|
||||||
print(f"[extraction] No matching row for memberId='{self.memberId}'")
|
print(f"[extraction] No matching row for memberId='{self.memberId}'")
|
||||||
return {"eligibility": None}
|
return {"eligibility": None}
|
||||||
|
|||||||
Reference in New Issue
Block a user