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.