Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Playwright CDP connection fails with assertion error #363

Open
andreakiro opened this issue Jan 17, 2025 · 6 comments
Open

Playwright CDP connection fails with assertion error #363

andreakiro opened this issue Jan 17, 2025 · 6 comments
Assignees
Labels
CDP Chrome Debug Protocol Investigate playwright

Comments

@andreakiro
Copy link

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...
@krichprollsch
Copy link
Member

Hello @andreakiro,

Thank you for the issue.

Indeed, we have issues with the playwright's support.

It would be very helpful if you can have a debug output with the CDP messages.
A comparison between lightpanda and a chrome headless would help us to find the issue.

@krichprollsch krichprollsch self-assigned this Jan 20, 2025
@krichprollsch krichprollsch added playwright CDP Chrome Debug Protocol labels Jan 20, 2025
@hoagy-davis-digges
Copy link

I'm encountering the same error, here are my logs from lightpanda:

debug(cli): Server opts: listening internally on /tmp/lightpanda...
info(websocket): starting blocking worker to listen on 127.0.0.1:9222
info(server): accepting new conn...
debug(websocket): (127.0.0.1:60860) connected
debug(handler): connected to Stream server
info(server): client connected
debug(websocket): (127.0.0.1:60860) connection successfully upgraded
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 1, method browser.getVersion
debug(cdp): Res > id 1, sessionID null, result { }
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 2, method target.setAutoAttach
debug(cdp): Event > method Target.attachedToTarget, sessionID null
debug(cdp): Res > id 2, sessionID null, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): REQ > id 3, method browser.setDownloadBehavior
debug(cdp): Res > id 3, sessionID null, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 4, method page.enable
debug(cdp): Res > id 4, sessionID BROWSERSESSIONID597D9875C664CAC0, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 5, method page.getFrameTree
debug(cdp): Res > id 5, sessionID BROWSERSESSIONID597D9875C664CAC0, result cdp.page.getFrameTree { .frameTree = { .frame = { .id = FRAMEIDD8AED408A0467AC93100BCDBE, .loaderId = LOADERID24DD2FD56CF1EF33C965C79C, .url = chrome://newtab/ } } }
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 6, method log.enable
debug(cdp): Res > id 6, sessionID BROWSERSESSIONID597D9875C664CAC0, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 7, method page.setLifecycleEventsEnabled
debug(cdp): Res > id 7, sessionID BROWSERSESSIONID597D9875C664CAC0, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Res (inspector) > id 8
debug(cdp): Res > id 8, sessionID null, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Res (inspector) > id 9
debug(cdp): Res > id 9, sessionID null, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 10, method page.addScriptToEvaluateOnNewDocument
debug(cdp): Res > id 10, sessionID BROWSERSESSIONID597D9875C664CAC0, result cdp.page.addScriptToEvaluateOnNewDocument { .identifier = 1 }
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 11, method network.enable
debug(cdp): Res > id 11, sessionID BROWSERSESSIONID597D9875C664CAC0, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 12, method target.setAutoAttach
debug(cdp): Res > id 12, sessionID BROWSERSESSIONID597D9875C664CAC0, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 13, method emulation.setFocusEmulationEnabled
debug(cdp): Res > id 13, sessionID BROWSERSESSIONID597D9875C664CAC0, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 14, method emulation.setEmulatedMedia
debug(cdp): Res > id 14, sessionID BROWSERSESSIONID597D9875C664CAC0, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 15, method runtime.runIfWaitingForDebugger
debug(cdp): Res > id 15, sessionID BROWSERSESSIONID597D9875C664CAC0, result null
debug(websocket): (127.0.0.1:60860) received text message
debug(cdp): Req > id 16, method target.getTargetInfo
debug(cdp): Res > id 16, sessionID null, result cdp.target.getTargetInfo.TargetInfo{ .targetId = { 98, 114, 111, 119, 115, 101, 114, 57, 45, 116, 97, 114, 103, 45, 101, 116, 54, 102, 45, 105, 100, 48, 101, 45, 56, 51, 102, 51, 97, 98, 55, 51, 97, 51, 48, 99 }, .type = { 98, 114, 111, 119, 115, 101, 114 }, .title = {  }, .url = {  }, .attached = true, .openerId = null, .canAccessOpener = false, .openerFrameId = null, .browserContextId = null, .subtype = null }
debug(websocket): (127.0.0.1:60860) connection closed: error.ConnectionResetByPeer
info(server): close cmd, closing conn...
debug(server): connection closed
info(server): accepting new conn...
debug(server): read has been canceled

and here are the ones from playwright:

$ DEBUG=pw:protocol,pw:channel python lightpanda_test.py 
  pw:channel <EVENT {"guid":"","method":"__create__","params":{"type":"Android","initializer":{},"guid":"android@f604d15b7cf04cffa6cd9f072b123d6d"}} +0ms
  pw:channel <EVENT {"guid":"","method":"__create__","params":{"type":"BrowserType","initializer":{"executablePath":"/home/hoagy/.cache/ms-playwright/chromium-1148/chrome-linux/chrome","name":"chromium"},"guid":"browser-type@2f75778c1d45c530352b340110f2d1ee"}} +0ms
  pw:channel <EVENT {"guid":"","method":"__create__","params":{"type":"BrowserType","initializer":{"executablePath":"/home/hoagy/.cache/ms-playwright/firefox-1466/firefox/firefox","name":"firefox"},"guid":"browser-type@e898c412a3195bf8b5713af4bfdffd7b"}} +1ms
  pw:channel <EVENT {"guid":"","method":"__create__","params":{"type":"BrowserType","initializer":{"executablePath":"/home/hoagy/.cache/ms-playwright/webkit_ubuntu20.04_x64_special-2092/pw_run.sh","name":"webkit"},"guid":"browser-type@7383e3a35eb61abbe119f8cbeea4b69a"}} +0ms
  pw:channel <EVENT {"guid":"","method":"__create__","params":{"type":"BrowserType","initializer":{"executablePath":"","name":"bidi"},"guid":"browser-type@c34813c60f750a36a5a41dd08669db38"}} +0ms
  pw:channel <EVENT {"guid":"","method":"__create__","params":{"type":"BrowserType","initializer":{"executablePath":"","name":"bidi"},"guid":"browser-type@a86167fa1e662526ec23e75a258daea1"}} +0ms
  pw:channel <EVENT {"guid":"","method":"__create__","params":{"type":"Electron","initializer":{},"guid":"electron@27e536ae6c4ccec8153c0645193456d3"}} +0ms
  pw:channel <EVENT {"guid":"","method":"__create__","params":{"type":"LocalUtils","initializer":{"deviceDescriptors":[{"name":"Blackberry PlayBook","descriptor":{"userAgent":"Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/18.2 Safari/536.2+","viewport":{"width":600,"height":1024},"deviceScaleFactor":1,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Blackberry PlayBook landscape","descriptor":{"userAgent":"Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/18.2 Safari/536.2+","viewport":{"width":1024,"height":600},"deviceScaleFactor":1,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"BlackBerry Z30","descriptor":{"userAgent":"Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/18.2 Mobile Safari/537.10+","viewport":{"width":360,"height":640},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"BlackBerry Z30 landscape","descriptor":{"userAgent":"Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/18.2 Mobile Safari/537.10+","viewport":{"width":640,"height":360},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Galaxy Note 3","descriptor":{"userAgent":"Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/18.2 Mobile Safari/534.30","viewport":{"width":360,"height":640},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Galaxy Note 3 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/18.2 Mobile Safari/534.30","viewport":{"width":640,"height":360},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Galaxy Note II","descriptor":{"userAgent":"Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/18.2 Mobile Safari/534.30","viewport":{"width":360,"height":640},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Galaxy Note II landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/18.2 Mobile Safari/534.30","viewport":{"width":640,"height":360},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Galaxy S III","descriptor":{"userAgent":"Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/18.2 Mobile Safari/534.30","viewport":{"width":360,"height":640},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Galaxy S III landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/18.2 Mobile Safari/534.30","viewport":{"width":640,"height":360},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Galaxy S5","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":360,"height":640},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Galaxy S5 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":640,"height":360},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Galaxy S8","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":360,"height":740},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Galaxy S8 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":740,"height":360},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Galaxy S9+","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":320,"height":658},"deviceScaleFactor":4.5,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Galaxy S9+ landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":658,"height":320},"deviceScaleFactor":4.5,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Galaxy Tab S4","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Safari/537.36","viewport":{"width":712,"height":1138},"deviceScaleFactor":2.25,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Galaxy Tab S4 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Safari/537.36","viewport":{"width":1138,"height":712},"deviceScaleFactor":2.25,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"iPad (gen 5)","descriptor":{"userAgent":"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":768,"height":1024},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPad (gen 5) landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":1024,"height":768},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPad (gen 6)","descriptor":{"userAgent":"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":768,"height":1024},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPad (gen 6) landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":1024,"height":768},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPad (gen 7)","descriptor":{"userAgent":"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":810,"height":1080},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPad (gen 7) landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":1080,"height":810},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPad Mini","descriptor":{"userAgent":"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":768,"height":1024},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPad Mini landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":1024,"height":768},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPad Pro 11","descriptor":{"userAgent":"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":834,"height":1194},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPad Pro 11 landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":1194,"height":834},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 6","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":375,"height":667},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 6 landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":667,"height":375},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 6 Plus","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":414,"height":736},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 6 Plus landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":736,"height":414},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 7","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":375,"height":667},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 7 landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":667,"height":375},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 7 Plus","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":414,"height":736},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 7 Plus landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":736,"height":414},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 8","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":375,"height":667},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 8 landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":667,"height":375},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 8 Plus","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":414,"height":736},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 8 Plus landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":736,"height":414},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone SE","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/18.2 Mobile/14E304 Safari/602.1","viewport":{"width":320,"height":568},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone SE landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/18.2 Mobile/14E304 Safari/602.1","viewport":{"width":568,"height":320},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone X","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":375,"height":812},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone X landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/18.2 Mobile/15A372 Safari/604.1","viewport":{"width":812,"height":375},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone XR","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":414,"height":896},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone XR landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":896,"height":414},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 11","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":414,"height":715},"screen":{"width":414,"height":896},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 11 landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":800,"height":364},"screen":{"width":414,"height":896},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 11 Pro","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":375,"height":635},"screen":{"width":375,"height":812},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 11 Pro landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":724,"height":325},"screen":{"width":375,"height":812},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 11 Pro Max","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":414,"height":715},"screen":{"width":414,"height":896},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 11 Pro Max landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":808,"height":364},"screen":{"width":414,"height":896},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 12","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":390,"height":664},"screen":{"width":390,"height":844},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 12 landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":750,"height":340},"screen":{"width":390,"height":844},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 12 Pro","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":390,"height":664},"screen":{"width":390,"height":844},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 12 Pro landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":750,"height":340},"screen":{"width":390,"height":844},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 12 Pro Max","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":428,"height":746},"screen":{"width":428,"height":926},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 12 Pro Max landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":832,"height":378},"screen":{"width":428,"height":926},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 12 Mini","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":375,"height":629},"screen":{"width":375,"height":812},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 12 Mini landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":712,"height":325},"screen":{"width":375,"height":812},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 13","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":390,"height":664},"screen":{"width":390,"height":844},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 13 landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":750,"height":342},"screen":{"width":390,"height":844},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 13 Pro","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":390,"height":664},"screen":{"width":390,"height":844},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 13 Pro landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":750,"height":342},"screen":{"width":390,"height":844},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 13 Pro Max","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":428,"height":746},"screen":{"width":428,"height":926},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 13 Pro Max landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":832,"height":380},"screen":{"width":428,"height":926},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 13 Mini","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":375,"height":629},"screen":{"width":375,"height":812},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 13 Mini landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":712,"height":327},"screen":{"width":375,"height":812},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 14","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":390,"height":664},"screen":{"width":390,"height":844},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 14 landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":750,"height":340},"screen":{"width":390,"height":844},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 14 Plus","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":428,"height":746},"screen":{"width":428,"height":926},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 14 Plus landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":832,"height":378},"screen":{"width":428,"height":926},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 14 Pro","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":393,"height":660},"screen":{"width":393,"height":852},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 14 Pro landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":734,"height":343},"screen":{"width":393,"height":852},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 14 Pro Max","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":430,"height":740},"screen":{"width":430,"height":932},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 14 Pro Max landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":814,"height":380},"screen":{"width":430,"height":932},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 15","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":393,"height":659},"screen":{"width":393,"height":852},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 15 landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":734,"height":343},"screen":{"width":393,"height":852},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 15 Plus","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":430,"height":739},"screen":{"width":430,"height":932},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 15 Plus landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":814,"height":380},"screen":{"width":430,"height":932},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 15 Pro","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":393,"height":659},"screen":{"width":393,"height":852},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 15 Pro landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":734,"height":343},"screen":{"width":393,"height":852},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 15 Pro Max","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":430,"height":739},"screen":{"width":430,"height":932},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"iPhone 15 Pro Max landscape","descriptor":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Mobile/15E148 Safari/604.1","viewport":{"width":814,"height":380},"screen":{"width":430,"height":932},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Kindle Fire HDX","descriptor":{"userAgent":"Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true","viewport":{"width":800,"height":1280},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Kindle Fire HDX landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true","viewport":{"width":1280,"height":800},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"LG Optimus L70","descriptor":{"userAgent":"Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":384,"height":640},"deviceScaleFactor":1.25,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"LG Optimus L70 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":640,"height":384},"deviceScaleFactor":1.25,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Microsoft Lumia 550","descriptor":{"userAgent":"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36 Edge/14.14263","viewport":{"width":640,"height":360},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Microsoft Lumia 550 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36 Edge/14.14263","viewport":{"width":360,"height":640},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Microsoft Lumia 950","descriptor":{"userAgent":"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36 Edge/14.14263","viewport":{"width":360,"height":640},"deviceScaleFactor":4,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Microsoft Lumia 950 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36 Edge/14.14263","viewport":{"width":640,"height":360},"deviceScaleFactor":4,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 10","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Safari/537.36","viewport":{"width":800,"height":1280},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 10 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Safari/537.36","viewport":{"width":1280,"height":800},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 4","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":384,"height":640},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 4 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":640,"height":384},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 5","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":360,"height":640},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 5 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":640,"height":360},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 5X","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":412,"height":732},"deviceScaleFactor":2.625,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 5X landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":732,"height":412},"deviceScaleFactor":2.625,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 6","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":412,"height":732},"deviceScaleFactor":3.5,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 6 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":732,"height":412},"deviceScaleFactor":3.5,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 6P","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":412,"height":732},"deviceScaleFactor":3.5,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 6P landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":732,"height":412},"deviceScaleFactor":3.5,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 7","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Safari/537.36","viewport":{"width":600,"height":960},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nexus 7 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Safari/537.36","viewport":{"width":960,"height":600},"deviceScaleFactor":2,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nokia Lumia 520","descriptor":{"userAgent":"Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)","viewport":{"width":320,"height":533},"deviceScaleFactor":1.5,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nokia Lumia 520 landscape","descriptor":{"userAgent":"Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)","viewport":{"width":533,"height":320},"deviceScaleFactor":1.5,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Nokia N9","descriptor":{"userAgent":"Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13","viewport":{"width":480,"height":854},"deviceScaleFactor":1,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Nokia N9 landscape","descriptor":{"userAgent":"Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13","viewport":{"width":854,"height":480},"deviceScaleFactor":1,"isMobile":true,"hasTouch":true,"defaultBrowserType":"webkit"}},{"name":"Pixel 2","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":411,"height":731},"deviceScaleFactor":2.625,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 2 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":731,"height":411},"deviceScaleFactor":2.625,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 2 XL","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":411,"height":823},"deviceScaleFactor":3.5,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 2 XL landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":823,"height":411},"deviceScaleFactor":3.5,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 3","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":393,"height":786},"deviceScaleFactor":2.75,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 3 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":786,"height":393},"deviceScaleFactor":2.75,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 4","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":353,"height":745},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 4 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":745,"height":353},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 4a (5G)","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":412,"height":765},"screen":{"width":412,"height":892},"deviceScaleFactor":2.63,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 4a (5G) landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":840,"height":312},"screen":{"width":412,"height":892},"deviceScaleFactor":2.63,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 5","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":393,"height":727},"screen":{"width":393,"height":851},"deviceScaleFactor":2.75,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 5 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":802,"height":293},"screen":{"width":851,"height":393},"deviceScaleFactor":2.75,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 7","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":412,"height":839},"screen":{"width":412,"height":915},"deviceScaleFactor":2.625,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Pixel 7 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":863,"height":360},"screen":{"width":915,"height":412},"deviceScaleFactor":2.625,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Moto G4","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":360,"height":640},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Moto G4 landscape","descriptor":{"userAgent":"Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Mobile Safari/537.36","viewport":{"width":640,"height":360},"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"defaultBrowserType":"chromium"}},{"name":"Desktop Chrome HiDPI","descriptor":{"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Safari/537.36","viewport":{"width":1280,"height":720},"screen":{"width":1792,"height":1120},"deviceScaleFactor":2,"isMobile":false,"hasTouch":false,"defaultBrowserType":"chromium"}},{"name":"Desktop Edge HiDPI","descriptor":{"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Safari/537.36 Edg/131.0.6778.33","viewport":{"width":1280,"height":720},"screen":{"width":1792,"height":1120},"deviceScaleFactor":2,"isMobile":false,"hasTouch":false,"defaultBrowserType":"chromium"}},{"name":"Desktop Firefox HiDPI","descriptor":{"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0","viewport":{"width":1280,"height":720},"screen":{"width":1792,"height":1120},"deviceScaleFactor":2,"isMobile":false,"hasTouch":false,"defaultBrowserType":"firefox"}},{"name":"Desktop Safari","descriptor":{"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Safari/605.1.15","viewport":{"width":1280,"height":720},"screen":{"width":1792,"height":1120},"deviceScaleFactor":2,"isMobile":false,"hasTouch":false,"defaultBrowserType":"webkit"}},{"name":"Desktop Chrome","descriptor":{"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Safari/537.36","viewport":{"width":1280,"height":720},"screen":{"width":1920,"height":1080},"deviceScaleFactor":1,"isMobile":false,"hasTouch":false,"defaultBrowserType":"chromium"}},{"name":"Desktop Edge","descriptor":{"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.33 Safari/537.36 Edg/131.0.6778.33","viewport":{"width":1280,"height":720},"screen":{"width":1920,"height":1080},"deviceScaleFactor":1,"isMobile":false,"hasTouch":false,"defaultBrowserType":"chromium"}},{"name":"Desktop Firefox","descriptor":{"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0","viewport":{"width":1280,"height":720},"screen":{"width":1920,"height":1080},"deviceScaleFactor":1,"isMobile":false,"hasTouch":false,"defaultBrowserType":"firefox"}}]},"guid":"localUtils"}} +2ms
  pw:channel <EVENT {"guid":"","method":"__create__","params":{"type":"Selectors","initializer":{},"guid":"selectors@a6fcab038b8509bb881a76c74182984d"}} +3ms
  pw:channel <EVENT {"guid":"","method":"__create__","params":{"type":"Playwright","initializer":{"chromium":{"guid":"browser-type@2f75778c1d45c530352b340110f2d1ee"},"firefox":{"guid":"browser-type@e898c412a3195bf8b5713af4bfdffd7b"},"webkit":{"guid":"browser-type@7383e3a35eb61abbe119f8cbeea4b69a"},"bidiChromium":{"guid":"browser-type@c34813c60f750a36a5a41dd08669db38"},"bidiFirefox":{"guid":"browser-type@a86167fa1e662526ec23e75a258daea1"},"android":{"guid":"android@f604d15b7cf04cffa6cd9f072b123d6d"},"electron":{"guid":"electron@27e536ae6c4ccec8153c0645193456d3"},"utils":{"guid":"localUtils"},"selectors":{"guid":"selectors@a6fcab038b8509bb881a76c74182984d"}},"guid":"Playwright"}} +1ms
  pw:protocol SEND ► {"id":1,"method":"Browser.getVersion"} +0ms
  pw:protocol ◀ RECV {"id":1,"result":{"protocolVersion":"1.3","product":"Chrome/124.0.6367.29","revision":"@9e6ded5ac1ff5e38d930ae52bd9aec09bd1a68e4","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36","jsVersion":"12.4.254.8"}} +5ms
  pw:protocol SEND ► {"id":2,"method":"Target.setAutoAttach","params":{"autoAttach":true,"waitForDebuggerOnStart":true,"flatten":true}} +2ms
  pw:protocol SEND ► {"id":3,"method":"Browser.setDownloadBehavior","params":{"behavior":"allowAndName","downloadPath":"/tmp/playwright-artifacts-bmRpCC","eventsEnabled":true}} +2ms
  pw:protocol ◀ RECV {"method":"Target.attachedToTarget","params":{"sessionId":"BROWSERSESSIONID597D9875C664CAC0","targetInfo":{"targetId":"PAGETARGETIDB638E9DC0F52DDC","type":"page","title":"about:blank","url":"chrome://newtab/","attached":true,"canAccessOpener":false,"browserContextId":"BROWSERCONTEXTIDA95049E9DFE95EA9"},"waitingForDebugger":false}} +1ms
  pw:protocol SEND ► {"id":4,"method":"Page.enable","sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +5ms
  pw:protocol SEND ► {"id":5,"method":"Page.getFrameTree","sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +1ms
  pw:protocol SEND ► {"id":6,"method":"Log.enable","params":{},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +1ms
  pw:protocol SEND ► {"id":7,"method":"Page.setLifecycleEventsEnabled","params":{"enabled":true},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +0ms
  pw:protocol SEND ► {"id":8,"method":"Runtime.enable","params":{},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +1ms
  pw:protocol SEND ► {"id":9,"method":"Runtime.addBinding","params":{"name":"__playwright__binding__"},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +0ms
  pw:protocol SEND ► {"id":10,"method":"Page.addScriptToEvaluateOnNewDocument","params":{"source":"","worldName":"__playwright_utility_world__"},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +1ms
  pw:protocol SEND ► {"id":11,"method":"Network.enable","sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +1ms
  pw:protocol SEND ► {"id":12,"method":"Target.setAutoAttach","params":{"autoAttach":true,"waitForDebuggerOnStart":true,"flatten":true},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +1ms
  pw:protocol SEND ► {"id":13,"method":"Emulation.setFocusEmulationEnabled","params":{"enabled":true},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +0ms
  pw:protocol SEND ► {"id":14,"method":"Emulation.setEmulatedMedia","params":{"media":"","features":[{"name":"prefers-color-scheme","value":"light"},{"name":"prefers-reduced-motion","value":"no-preference"},{"name":"forced-colors","value":"none"}]},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +1ms
  pw:protocol SEND ► {"id":15,"method":"Runtime.runIfWaitingForDebugger","sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +1ms
  pw:protocol ◀ RECV {"id":2,"result":{}} +0ms
  pw:protocol SEND ► {"id":16,"method":"Target.getTargetInfo"} +1ms
  pw:protocol ◀ RECV {"id":3,"result":{}} +1ms
  pw:protocol ◀ RECV {"id":4,"result":{},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +0ms
  pw:protocol ◀ RECV {"id":5,"result":{"frameTree":{"frame":{"id":"FRAMEIDD8AED408A0467AC93100BCDBE","loaderId":"LOADERID24DD2FD56CF1EF33C965C79C","url":"chrome://newtab/","domainAndRegistry":"","securityOrigin":"chrome://newtab/","mimeType":"text/html","adFrameStatus":{"adFrameType":"none"},"secureContextType":"Secure","crossOriginIsolatedContextType":"NotIsolated","gatedAPIFeatures":[]}}},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +0ms
  pw:protocol ◀ RECV {"id":6,"result":{},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +3ms
  pw:protocol ◀ RECV {"id":7,"result":{},"sessionId":"BROWSERSESSIONID597D9875C664CAC0"} +0ms
  pw:protocol ◀ RECV {"id":8,"result":{},"sessionId":"CONTEXTSESSIONID0497A05C95417CF4"} +0ms
  pw:protocol ◀ RECV {"id":8,"result":{}} +0ms
/home/hoagy/.pyenv/versions/main/lib/python3.13/site-packages/playwright/driver/package/lib/utils/debug.js:29
  if (!value) throw new Error(message || 'Assertion error');
                    ^

Error: Assertion error
    at assert (/home/hoagy/.pyenv/versions/main/lib/python3.13/site-packages/playwright/driver/package/lib/utils/debug.js:29:21)
    at CRSession._onMessage (/home/hoagy/.pyenv/versions/main/lib/python3.13/site-packages/playwright/driver/package/lib/server/chromium/crConnection.js:157:25)
    at CRConnection._onMessage (/home/hoagy/.pyenv/versions/main/lib/python3.13/site-packages/playwright/driver/package/lib/server/chromium/crConnection.js:73:26)
    at Immediate.<anonymous> (/home/hoagy/.pyenv/versions/main/lib/python3.13/site-packages/playwright/driver/package/lib/server/transport.js:147:46)
    at process.processImmediate (node:internal/timers:491:21)

@shishkin
Copy link

I thought lightpanda doesn't render DOM and thus can't generate screenshots.

@krichprollsch
Copy link
Member

I thought lightpanda doesn't render DOM and thus can't generate screenshots.

@shishkin I confirm Lightpanda has no graphical rendering, so screenshots will not work.
But as far as I can see, the issue reported here happens before the screenshot itself. We doesn't handle playwright's CDP conn correctly for now.

@sliard
Copy link

sliard commented Feb 3, 2025

Same error :( any progress yet?

@krichprollsch
Copy link
Member

Same error :( any progress yet?

Hello @sliard,
No progress regarding this issue for now. I hope be able to work next week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CDP Chrome Debug Protocol Investigate playwright
Projects
None yet
Development

No branches or pull requests

5 participants