Why does Selenium throw "element not interactable" or "element not clickable" even though I can see it?
Asked by The SDET Playbook
Asked Sep 28, 2026Viewed 0 times
Why does Selenium throw "element not interactable" or "element not clickable" even though I can see it?
Asked by The SDET Playbook
Sign in to answer and to vote.
The W3C WebDriver standard raises "element not interactable" when an element is not pointer- or keyboard-interactable, for example because it is hidden, has no size or is disabled, and "element click intercepted" when another element would receive the click. (Selenium's Python API docs describe the first in terms of paint order, which is closer to the second case, so go by the standard.) Typical causes are overlays or modals, animations still in progress, elements hidden until a prior action finishes, content that loads dynamically, disabled elements, and looking in the wrong frame or window. The usual fixes are an explicit wait for the exact condition (visible, enabled, clickable), dismissing or waiting out the overlay, scrolling the element into view, switching into the right iframe, and checking that your locator did not match a hidden duplicate. Playwright runs actionability checks before each action, which removes much of this class of failure.
Sources: W3C WebDriver errors, Selenium API docs, BrowserStack, Playwright best practices