Skip to content

Lightpanda: run the Selenium, Pydoll, chromedp and ferrum suites - #30

Merged
ldm0 merged 6 commits into
lexmount:mainfrom
krichprollsch:lightpanda-fixes
Oct 15, 2026
Merged

ldm0 merged 6 commits into
lexmount:mainfrom
krichprollsch:lightpanda-fixes

Conversation

@krichprollsch

Copy link
Copy Markdown
Contributor

Hello 👋
I did some change to fix different issue of the bench w/ Lightpanda.

All changes are gated to Lightpanda, or to engines with the same behavior, so Chrome, Moli and Obscura keep their published paths.

Changes

  • Launch flags: Lightpanda starts with --load-resources iframe --load-resources worker --protocol cdp --protocol webdriver, set in ENGINE_DEFS["lightpanda"]["serve_args"].
  • Selenium: Selenium connects to Lightpanda over native WebDriver, with no ChromeDriver. The browserName and browserVersion checks now read each engine's expected values from ENGINE_DEFS[...]["webdriver_identity"].
  • Pydoll: Lightpanda starts with no page target, so it now uses Obscura's bootstrap (createTarget + attachToTarget(flatten=true)). The route is renamed from pydoll_obscura_cdp to pydoll_empty_registry_cdp.
  • chromedp: the first new_page reuses the root tab instead of opening a second target, which Lightpanda rejects with TargetAlreadyLoaded. Only Lightpanda takes this path (rootTabReuseEngines).
  • ferrum: Ferrum takes the BID-STARTUP context of Lightpanda's placeholder target as its default context, and createTarget in it fails with UnknownBrowserContextId. For Lightpanda, new_page now creates one browser context and creates every page in it (EXPLICIT_CONTEXT_ENGINES).
  • Version: the pin moves to 1.1.0-nightly.10552+dd2cd5d7f

Ferrum takes the default context of Lightpanda's placeholder target as
its default context, and createTarget in it fails with
UnknownBrowserContextId.

For Lightpanda, new_page now creates one browser context and creates every
page in it. Other engines keep browser.create_page.
@ldm0

ldm0 commented Oct 15, 2026

Copy link
Copy Markdown
Member

Thanks for the contribution!

One remaining gap: Lightpanda lacks WebDriver window/new and multi-target CDP support, affecting Selenium and multi-tab workflows across several drivers. Improving these would boost compatibility with automation frameworks and AI agents.

These are not blockers for this PR. This PR LGTM.

@ldm0
ldm0 merged commit 1306f30 into lexmount:main Oct 15, 2026
1 check passed
@krichprollsch
krichprollsch deleted the lightpanda-fixes branch October 15, 2026 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants