diff --git a/apps/SeleniumService/selenium_BCBS_MA_eligibilityCheckWorker.py b/apps/SeleniumService/selenium_BCBS_MA_eligibilityCheckWorker.py index 3c7cc314..31039ebf 100644 --- a/apps/SeleniumService/selenium_BCBS_MA_eligibilityCheckWorker.py +++ b/apps/SeleniumService/selenium_BCBS_MA_eligibilityCheckWorker.py @@ -278,12 +278,27 @@ class AutomationBCBSMAEligibilityCheck: # 7. Click New Eligibility Request in dropdown print("[BCBS MA step1] Clicking New Eligibility Request...") - new_elig = self._wait(10).until( - EC.element_to_be_clickable((By.XPATH, - "//a[@ng-click='newEligibility();']" - )) + NEW_ELIG_XPATH = ( + "//a[contains(@ng-click,'newEligibility')] | " + "//a[contains(normalize-space(text()),'New Eligibility Request')] | " + "//a[contains(normalize-space(text()),'New Eligibility')]" ) - new_elig.click() + try: + new_elig = self._wait(8).until( + EC.presence_of_element_located((By.XPATH, NEW_ELIG_XPATH)) + ) + except TimeoutException: + # Dropdown may have closed — re-open Verification and try again + print("[BCBS MA step1] New Eligibility Request not found, re-clicking Verification...") + verification.click() + time.sleep(2) + new_elig = self._wait(8).until( + EC.presence_of_element_located((By.XPATH, NEW_ELIG_XPATH)) + ) + try: + new_elig.click() + except Exception: + self.driver.execute_script("arguments[0].click();", new_elig) time.sleep(3) print("[BCBS MA step1] New Eligibility Request clicked — on Eligibility Identifier page")