from selenium.common.exceptions import StaleElementReferenceException# Wait for spinner disappearance:
WebDriverWait(driver, 10).until(
EC.invisibility_of_element_located((By.CSS_SELECTOR, ".spinner-icon"))
)
# Retry loop for stale element references:
def click_with_retry(driver, locator, max_attempts=3):
for _ in range(max_attempts):
try:
driver.find_element(*locator).click()
return
except StaleElementReferenceException:
pass
raise RuntimeError(f"Element remained stale: {locator}")