Sobes.tech
Junior — Middle

Como evitar a ocorrência de NotInteractableException na automação de testes com Selenium?

sobes.tech IA

Resposta da IA

A exceção NotInteractableException no Selenium ocorre quando a tentativa de interagir com um elemento não é possível — por exemplo, o elemento está invisível, coberto por outro elemento ou desativado.

Para evitar esse erro, pode-se:

  • Garantir que o elemento esteja visível e acessível para interação, usando esperas explícitas (Explicit Wait) com condições de visibilidade ou clicabilidade:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
element = wait.until(EC.element_to_be_clickable((By.ID, 'element_id')))
element.click()
  • Verificar se o elemento não está coberto por outros elementos (por exemplo, janelas pop-up ou carregamentos).
  • Usar JavaScript para interagir com o elemento se os métodos padrão não funcionarem:
driver.execute_script("arguments[0].click();", element)
  • Certificar-se de que a página está totalmente carregada e todos os elementos dinâmicos estão prontos para interação.

Assim, o uso correto de esperas e a verificação do estado dos elementos ajudam a evitar a NotInteractableException.