diff --git a/apps/SeleniumService/selenium_TuftsSCO_claimSubmitWorker.py b/apps/SeleniumService/selenium_TuftsSCO_claimSubmitWorker.py index 195d3799..5f50f21a 100644 --- a/apps/SeleniumService/selenium_TuftsSCO_claimSubmitWorker.py +++ b/apps/SeleniumService/selenium_TuftsSCO_claimSubmitWorker.py @@ -552,18 +552,18 @@ class AutomationTuftsSCOClaimSubmit: inp.send_keys(str(value)) time.sleep(0.5) listbox_id = inp.get_attribute("aria-controls") or "" + scope = f"//*[@id='{listbox_id}']" if listbox_id else "//*[@role='listbox']" try: - if listbox_id: + try: option = WebDriverWait(self.driver, 4).until( EC.element_to_be_clickable((By.XPATH, - f"//*[@id='{listbox_id}']//*[@role='option'][1]" + f"{scope}//*[@role='option' and contains(normalize-space(.),'{value}')]" )) ) - else: - option = WebDriverWait(self.driver, 4).until( + except TimeoutException: + option = WebDriverWait(self.driver, 2).until( EC.element_to_be_clickable((By.XPATH, - f"//*[@role='listbox']//*[@role='option' and contains(normalize-space(.),'{value}')]" - f" | //*[@role='listbox']//*[@role='option'][1]" + f"{scope}//*[@role='option'][1]" )) ) option.click()