fix: update DDMA eligibility check worker for new deltadentalma.com sign-in and search flow
Delta Dental MA moved their provider login from providers.deltadentalma.com/onboarding to www.deltadentalma.com/sign-in with new form field selectors, and moved eligibility search behind a "Group/Health Connector" search page keyed by subscriber ID + birthdate instead of the old member-search form. Updates login, OTP/MFA handling, and member search/selection across the eligibility and claim DDMA workers and their session helpers.
This commit is contained in:
@@ -130,17 +130,12 @@ async def start_ddma_claim_run(sid: str, data: dict, url: str):
|
||||
if otp_value:
|
||||
print(f"[DDMA Claim OTP poll {poll+1}] OTP received from app, typing it in...")
|
||||
try:
|
||||
otp_input = driver.find_element(By.XPATH,
|
||||
"//input[contains(@aria-label,'Verification') or "
|
||||
"contains(@placeholder,'verification') or @type='tel' or "
|
||||
"contains(@aria-lable,'Verification code') or "
|
||||
"contains(@placeholder,'Enter your verification code')]"
|
||||
)
|
||||
otp_input = driver.find_element(By.XPATH, "//input[@data-test-id='MfaCode']")
|
||||
otp_input.clear()
|
||||
otp_input.send_keys(otp_value)
|
||||
try:
|
||||
verify_btn = driver.find_element(By.XPATH,
|
||||
"//button[@type='button' and @aria-label='Verify']")
|
||||
"//button[@data-test-id='ConfirmSubmitButton']")
|
||||
verify_btn.click()
|
||||
except Exception:
|
||||
otp_input.send_keys("\n")
|
||||
@@ -167,17 +162,14 @@ async def start_ddma_claim_run(sid: str, data: dict, url: str):
|
||||
|
||||
# Check if OTP input still visible (user hasn't finished)
|
||||
try:
|
||||
driver.find_element(By.XPATH,
|
||||
"//input[contains(@aria-label,'Verification') or "
|
||||
"contains(@placeholder,'verification') or @type='tel']"
|
||||
)
|
||||
driver.find_element(By.XPATH, "//input[@data-test-id='MfaCode']")
|
||||
print(f"[DDMA Claim OTP poll {poll+1}] OTP input still visible — waiting...")
|
||||
except Exception:
|
||||
# OTP input gone — try navigating to members
|
||||
if "onboarding" in current_url or "start" in current_url:
|
||||
if "sign-in" in current_url:
|
||||
print("[DDMA Claim OTP] OTP input gone, navigating to members page...")
|
||||
try:
|
||||
driver.get("https://providers.deltadentalma.com/members")
|
||||
driver.get("https://www.deltadentalma.com/private/provider/dashboard")
|
||||
await asyncio.sleep(2)
|
||||
except Exception:
|
||||
pass
|
||||
@@ -189,7 +181,7 @@ async def start_ddma_claim_run(sid: str, data: dict, url: str):
|
||||
# Final attempt — navigate directly to members page
|
||||
try:
|
||||
print("[DDMA Claim OTP] Final attempt — navigating to members page...")
|
||||
driver.get("https://providers.deltadentalma.com/members")
|
||||
driver.get("https://www.deltadentalma.com/private/provider/dashboard")
|
||||
await asyncio.sleep(3)
|
||||
WebDriverWait(driver, 10).until(
|
||||
EC.presence_of_element_located((By.XPATH, '//input[@placeholder="Search by member ID"]'))
|
||||
|
||||
Reference in New Issue
Block a user