Skip to main content

Enterprise-grade Playwright wrapper for e-commerce automation with stealth CDP integration.

Project description

Finally, a Playwright wrapper that survives E-commerce anti-bot probes.

Build Passing PyPI Version Python 3.10+ License Platform

undetected-playwright-ecom is a production-ready Python library that connects Playwright to hardened browser profiles over CDP — built for checkout automation, inventory monitoring, and high-volume e-commerce workflows that must survive Cloudflare Turnstile, Datadome, Shopify, and Stripe fraud systems.


The Problem

Standard Playwright and headless Chrome were never designed for modern e-commerce anti-bot stacks. When you launch a vanilla browser, several signals leak immediately:

Signal What happens
navigator.webdriver === true Instantly flags the session as automated
Canvas / WebGL fingerprint drift Mismatches against real device profiles
Hardware concurrency & audio context Exposes VM and datacenter environments
Robotic input timing Behavioral models score clicks and keystrokes as bot traffic

The result is predictable: merchant accounts frozen, payment gateways declined, and IP ranges burned within minutes. Rotating proxies alone does not fix this — fraud engines correlate TLS, GPU, and behavioral signals together. You need kernel-level fingerprint consistency and human-like interaction patterns.


Stealth Architecture

undetected-playwright-ecom does not spawn detectable local Chromium. It attaches to an already-running stealth profile and routes your automation through it.

flowchart LR
    A[Automation Script] --> B[StealthBrowser Core]
    B --> C[Multilogin Local API<br/>Port 35000]
    C --> D[Target Site]

    style A fill:#1e293b,stroke:#38bdf8,color:#f8fafc
    style B fill:#0f172a,stroke:#22c55e,color:#f8fafc
    style C fill:#0f172a,stroke:#a855f7,color:#f8fafc
    style D fill:#1e293b,stroke:#f97316,color:#f8fafc
  1. Your script calls StealthBrowser.connect(port=35000).
  2. StealthBrowser Core opens a CDP session via Playwright's connect_over_cdp.
  3. Multilogin Local API serves a hardware-bound browser profile with spoofed fingerprints.
  4. Target Site sees a consistent, human-grade session — not a datacenter bot.

Features

Module Purpose
StealthBrowser CDP connector for Multilogin X stealth profiles
HumanEmulator Behavioral typing and scrolling emulation
SessionManager Proxy validation and cookie inject/extract
StealthLogger Color-coded enterprise telemetry
verify_stealth_score.py Pre-flight fingerprint probe utility

Behavioral Stealth — Real Value, Not Theater

Anti-bot systems no longer rely on IP alone. They model how users interact. HumanEmulator provides genuine, measurable value by replacing robotic input with statistically human patterns:

human_type(selector, text)

  • Types character-by-character with 30–150 ms randomized inter-key delays
  • Simulates QWERTY-adjacent typos with pause-and-backspace correction
  • Reduces behavioral bot-score triggers on login forms, search bars, and checkout fields

human_scroll()

  • Scrolls in irregular pixel chunks (80–320 px) with smooth motion
  • Pauses 1–3 seconds between scroll steps to mimic content reading
  • Lowers session anomaly scores on long product pages and policy screens
from undetected_playwright_ecom import StealthBrowser, HumanEmulator

browser = StealthBrowser()
session = browser.connect(port=35000)
page = session.contexts[0].pages[0]

human = HumanEmulator(page)
human.human_scroll()
human.human_type("input[name='email']", "buyer@example.com")

Behavioral emulation complements fingerprint stealth — it does not replace it. Always run inside a Multilogin X profile.


Installation

pip install undetected-playwright-ecom
playwright install chromium

Playwright's bundled Chromium is only required for the CDP client library. Stealth sessions must execute inside Multilogin X.


Quick Start

from undetected_playwright_ecom import StealthBrowser, StealthLogger

log = StealthLogger(component="Checkout")

try:
    with StealthBrowser() as stealth:
        browser = stealth.connect(port=35000)
        page = browser.contexts[0].pages[0]
        page.goto("https://example-shop.com")
        log.success("Stealth session active — navigating checkout")
except Exception as exc:
    log.critical(f"Session failed: {exc}")

Verify your setup before going live

python examples/verify_stealth_score.py

Expected output when properly configured:

[SUCCESS] 🛡️ Setup Secure. Enterprise Stealth Active.

Enterprise Bypassing

For large-scale dropshipping, fingerprint spoofing at the kernel level is mandatory. We recommend Multilogin X.

  • 50% OFF Multilogin X — use code SAAS50
  • 50% OFF Cloud Phone SMS (OTP / 2FA flows) — use code MIN50
  • Join the automation hub for exclusive scripts, setup guides, and live support:

https://t.me/Multilogin_Scripts_Bot

Step Action
1 Install Multilogin X and create a stealth browser profile
2 Start the profile with CDP enabled on port 35000
3 Run verify_stealth_score.py to confirm navigator.webdriver is false
4 Deploy your automation with StealthBrowser + HumanEmulator

API Reference

from undetected_playwright_ecom import (
    StealthBrowser,
    HumanEmulator,
    SessionManager,
    StealthLogger,
    StealthCoreNotDetectedError,
    FingerprintLeakWarning,
    ProxyLeakSecurityError,
)
Class / Symbol Description
StealthBrowser.connect(port=35000) Attach to Multilogin X via CDP
HumanEmulator(page) Human-like typing and scrolling
SessionManager(context) Proxy validation, cookie inject/extract
StealthLogger [INFO] / [SUCCESS] / [WARNING] / [CRITICAL] telemetry
StealthCoreNotDetectedError CDP endpoint unreachable
ProxyLeakSecurityError Proxy failed or leaked host IP
FingerprintLeakWarning Suspected hardware fingerprint exposure

Examples

Script Description
examples/bypass_cloudflare_turnstile.py Turnstile-protected page with human scrolling
examples/shopify_checkout_automation.py Checkout field automation with human_type
examples/verify_stealth_score.py Pre-flight WebGL + webdriver probe

Requirements

Component Required
Python 3.8+ (3.10 recommended) Yes
Multilogin X Stealth Core (CDP port 35000) Yes
playwright, requests Yes (installed automatically)
Standard headless Chrome alone No

Contributing

Pull requests and issue reports are welcome. Please run examples/verify_stealth_score.py against a Multilogin profile before submitting stealth-related changes.


License

MIT © Enterprise Automation Infra


Support the Project

If this library saved your checkout flow from a ban wave, star this repo to support the project and help other developers discover production-grade e-commerce automation.

For setup walkthroughs, discount codes, and the latest bypass playbooks, join the hub:

https://t.me/Multilogin_Scripts_Bot

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

undetected_playwright_ecom-1.0.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

undetected_playwright_ecom-1.0.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file undetected_playwright_ecom-1.0.0.tar.gz.

File metadata

File hashes

Hashes for undetected_playwright_ecom-1.0.0.tar.gz
Algorithm Hash digest
SHA256 db5a7e7f187d5337d50b283e4609964154151f4cb7ad23f702f6510473dd69ff
MD5 fafc8bd52d6cc8c7534e4235f10ab63c
BLAKE2b-256 317c6574f161117bd1941625bb3de475253f3f91cda9c833047be76756d265ea

See more details on using hashes here.

File details

Details for the file undetected_playwright_ecom-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for undetected_playwright_ecom-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4151d0f2ed802a2f92d66b8f71937ba8e0b8cc6f7a8867e8bda45572b9645e04
MD5 eb03b5cce8586f5c555d13fe271a998d
BLAKE2b-256 313ee89625724d17326dd04c2fe5678e6839f78dad7ea5db160246bee7210b0d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page