fix: broaden XPath and add fallback for BCBS MA New Eligibility Request click
The exact ng-click='newEligibility();' XPath was failing to match the link. Replaced with three alternative patterns (partial ng-click, full text, partial text), added a JS-click fallback for intercepted clicks, and auto-re-opens the Verification dropdown if it closes before the link is found. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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')]"
|
||||
)
|
||||
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")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user