browser icon indicating copy to clipboard operation
browser copied to clipboard

Playwright CDP connection fails with assertion error

Open andreakiro opened this issue 1 month ago • 1 comments

When connecting to browser using Playwright's Python CDP interface, connection is immediately closed with an assert error. There might be an incompatibility between Playwright's CDP implementation and Lightpanda's CDP server response.

Environment

  • macOS (Apple Silicon/arm64)
  • version: nightly build (downloaded on 2025-01-17)
  • playwright version 1.49.1
  • python version: 3.11

Reproduce

Server side;

./lightpanda-aarch64-macos --host 127.0.0.1 --port 9222

Client side;

import asyncio
from playwright.async_api import async_playwright

async def capture_screenshot():
    async with async_playwright() as p:
        browser = await p.chromium.connect_over_cdp("ws://127.0.0.1:9222")
        try:
            context = await browser.new_context()
            page = await context.new_page()
            await page.goto('https://example.com')
            screenshot_bytes = await page.screenshot()
            return screenshot_bytes
        finally:
            await browser.close()

if __name__ == "__main__":
    screenshot = asyncio.run(capture_screenshot())

Error output

~/.virtualenvs/lightpanda-browser-vbam/lib/python3.11/site-packages/playwright/driver/package/lib/utils/debug.js:29
  if (!value) throw new Error(message || 'Assertion error');
                    ^
Error: Assertion error
    at assert (~/.virtualenvs/lightpanda-browser-vbam/lib/python3.11/site-packages/playwright/driver/package/lib/utils/debug.js:29:21)
    at CRSession._onMessage (~/.virtualenvs/lightpanda-browser-vbam/lib/python3.11/site-packages/playwright/driver/package/lib/server/chromium/crConnection.js:157:25)

Server logs

info(websocket): starting blocking worker to listen on 127.0.0.1:9222
info(server): accepting new conn...
info(server): client connected
info(server): close cmd, closing conn...
info(server): accepting new conn...

andreakiro avatar Jan 17 '25 22:01 andreakiro