I'm using this selenium code to download a file daily, but sometimes I get stale reference error.
How can I be sure to click element as soon as it is avaiable?
try:
btnMenu = WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.LINK_TEXT, 'TRANSFERÊNCIA')))
# btnMenu = WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.NAME, 'link2')))
# WebDriverWait(driver, 10).until(EC.element_to_be_clickable(By.NAME, 'link2'))
driver.execute_script("arguments[0].click();", btnMenu)
except StaleElementReferenceException as ex:
print('Elemento obsoleto - botão transferência\n{ex.message}')
btnMenu = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.LINK_TEXT, 'TRANSFERÊNCIA')))
driver.execute_script("arguments[0].click();", btnMenu)
except TimeoutException as ex:
print(f'Link de transferência não encontrado.\n{ex}')
driver.quit()