playwright icon indicating copy to clipboard operation
playwright copied to clipboard

[Bug]: Click still can fail when scrolling required in playwright version 1.53.1

Open romankhomitskyi opened this issue 6 months ago • 3 comments

Version

1.53.0, 1.53.1

Steps to reproduce

In playwright version 1.52.0, things were working as expected, all tests pass

In 1.53.0 and 1.53.1 versions, it looks like the click event is not registered, or fired too early, while the loading bar is overlapping the page '.clicked' class is applied to the button when a click happens, but at first, this class is not attached, so the second click occurs on the same button after scrolling

https://github.com/user-attachments/assets/ef302534-dcdc-4e21-97b6-a706bed99769

Image

Those tests fail every time and do not pass after retry

Expected behavior

Click should pass after scrolling in 1.53.1 version

Actual behavior

Click fails after scrolling in wizard

Additional context

No response

Environment

System:
    OS: macOS 15.4
    CPU: (10) arm64 Apple M1 Max
    Memory: 79.94 MB / 32.00 GB
  Binaries:
    Node: 24.2.0 - ~/.nvm/versions/node/v24.2.0/bin/node
    Yarn: 1.22.22 - ~/.nvm/versions/node/v24.2.0/bin/yarn
    npm: 11.3.0 - ~/.nvm/versions/node/v24.2.0/bin/npm
  IDEs:
    VSCode: 1.100.2 - /usr/local/bin/code
  Languages:
    Bash: 5.2.15 - /opt/homebrew/bin/bash
  npmPackages:
    @playwright/test: 1.53.1 => 1.53.1

romankhomitskyi avatar Jun 23 '25 08:06 romankhomitskyi

I'm having trouble understanding where's the bug in Playwright. This classname you mention seems to be an implementation detail of your application. Could you condense this down into a minimal case where it's easier to see what Playwright is doing wrong?

Skn0tt avatar Jun 23 '25 09:06 Skn0tt

I'm having trouble understanding where's the bug in Playwright. This classname you mention seems to be an implementation detail of your application. Could you condense this down into a minimal case where it's easier to see what Playwright is doing wrong?

This class indicates that a click occurred. After a scroll, the next step should be a click, and Playwright attempts it — but no class is attached, meaning the click likely didn't happen. I don’t believe this is an issue with our frontend, since the same tests pass in version 1.52.0 but fail in 1.53.0 and 1.53.1, and the frontend code hasn’t changed during that time.

romankhomitskyi avatar Jun 23 '25 09:06 romankhomitskyi

If you believe it's a regression in Playwright, i'm happy to look into it. Please provide me with a reproduction case, it's impossible for me to debug what's going on without it.

Skn0tt avatar Jun 23 '25 09:06 Skn0tt

I have a similar problem, clicking works in 1.52.0, but fails in 1.53.0 and 1.53.1. However in my case there is no scrolling it seems, there is only an animation for popup appearing on which buttons are clicked, but I'm waiting until the animation ends.

pgarbocz avatar Jun 25 '25 08:06 pgarbocz

Out of curiosity, could you try running with the following in the config? Perhaps this could be related to a new Chromium feature that was shipped recently.

use: {
  launchOptions: {
    args: ['--disable-features=AcceptCHFrame,AutoExpandDetailsElement,AvoidUnnecessaryBeforeUnloadCheckSync,CertificateTransparencyComponentUpdater,DestroyProfileOnBrowserClose,DialMediaRouteProvider,ExtensionManifestV2Disabled,GlobalMediaControls,HttpsUpgrades,ImprovedCookieControls,LazyFrameLoading,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,DeferRendererTasksAfterInput'],
  },
},

Skn0tt avatar Jun 25 '25 08:06 Skn0tt

@Skn0tt I confirm that it's working with the provided launchOptions

pgarbocz avatar Jun 25 '25 08:06 pgarbocz

Thanks, that's good to know from our end. We're getting a few reports where this Chromium change is making tests fail. We'll think about it.

Skn0tt avatar Jun 25 '25 08:06 Skn0tt

Out of curiosity, could you try running with the following in the config? Perhaps this could be related to a new Chromium feature that was shipped recently.

use: { launchOptions: { args: ['--disable-features=AcceptCHFrame,AutoExpandDetailsElement,AvoidUnnecessaryBeforeUnloadCheckSync,CertificateTransparencyComponentUpdater,DestroyProfileOnBrowserClose,DialMediaRouteProvider,ExtensionManifestV2Disabled,GlobalMediaControls,HttpsUpgrades,ImprovedCookieControls,LazyFrameLoading,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,DeferRendererTasksAfterInput'], }, },

helped as well

romankhomitskyi avatar Jun 25 '25 11:06 romankhomitskyi

cool, closing as per https://github.com/microsoft/playwright/issues/36395#issuecomment-3004440477

Skn0tt avatar Jun 25 '25 11:06 Skn0tt