arrow-left Back to topicQuizAuto-waitingCheck yourself1.A button is visible and enabled, but clicking it does nothing in the test. The page has a loading spinner that covers the button briefly. What's happening and how does Playwright handle it?Playwright clicks immediately — visibility and enabled status are sufficientPlaywright waits for the spinner to disappear (the 'receives events' check), then clicksYou need to add await page.waitForSelector('.spinner', { state: 'hidden' }) manually2.An element has opacity: 0 in CSS. Is it considered 'visible' by Playwright's actionability checks?No — opacity: 0 makes it invisible, Playwright won't act on itYes — it still has a bounding box, so it counts as visibleIt depends on whether pointer-events is also disabled3.What does Playwright's 'stable' check verify before performing a click?That the element's text content has not changed in the last secondThat the element's bounding box has not moved for at least two consecutive animation framesThat the element has no active CSS transitions in its style attributeThat the element is inside the visible viewport4.When does Playwright throw a TimeoutError for an actionability check?Immediately when the first check failsAfter retrying all checks until the configured timeout (default 30 s) expiresAfter exactly 3 retry attempts regardless of timeout settingOnly if the element is not found in the DOM at all5.What does passing { force: true } to locator.click() actually skip?All actionability checks — visible, stable, receives events, and enabledOnly the 'receives events' check, so the click fires at the element's coordinates even if something covers itThe network request that the click would normally triggerThe timeout — the click fires without waiting at all6.Which actionability checks does locator.fill() require, compared to locator.click()?fill() requires the same four checks as click(): visible, stable, receives events, enabledfill() requires visible, enabled, and editable — but NOT stable or receives eventsfill() requires no actionability checks at all — it always writes directlyfill() only requires that the element is editable7.An element has [aria-disabled='true'] on its parent. Will locator.click() wait or throw?Click immediately — aria-disabled is a hint for screen readers, not enforced by PlaywrightWait until the timeout expires because the enabled check fails, then throw TimeoutErrorThrow an ElementDisabledError immediately without waitingClick the element but log a warning about aria-disabled8.How is expect(locator).toBeVisible() different from Playwright's actionability 'visible' check?They are identical — both use exactly the same logic and retry looptoBeVisible() is an assertion that retries until the element is visible (or timeout); the actionability check is part of an action and retries the full checklist before actingtoBeVisible() only runs once, while the actionability check retries automaticallyThe actionability check uses a shorter timeout than toBeVisible()Submit answersarrow-left PreviousNavigationsAssertionsNext arrow-right