Skip to content

[BUG] Page.click doesn't work inside of fixed & hidden containers #1669

Closed

Description

Context:

  • Playwright Version: 0.12.1
  • Operating System: macOS

Code Snippet

const { chromium } = require('playwright-chromium');

(async () => {
  const browser = await chromium.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto('https://cdpn.io/celeryclub/debug/zYGVYJj/yoAZEOvKpZDr', { waitUntil: 'networkidle0' });
  await page.waitFor(1000);

  await page.click('.btn-continue');

  await browser.close();
})();

Describe the bug
Hi team. I think I've found an issue with Page.click, or perhaps with the the actionability checks in general. In certain conditions, the actionability checks won't time out after 30s. They'll just hang forever. Here's how I've been able to reproduce it:

Container with `position: fixed`
  Container with `visibility: hidden`
    The element I'm trying to click

The strange thing is that if I pass a timeout to .click (await page.click('.btn-continue', { timeout: 5000 });), it does give me the error message I'd expect after 5s (TimeoutError: waiting for element to receive mouse events failed: timeout 5000ms exceeded).

Here's the codepen link in case the debug URL above expires.
https://codepen.io/celeryclub/pen/zYGVYJj

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions