""" 淡化 Playwright 启动时的自动化指纹,减轻 Google 账号页「此浏览器或应用可能不安全」类拦截。 关闭:环境变量 OPENCLAW_PLAYWRIGHT_STEALTH=0(或 false/off/no)。 """ from __future__ import annotations import os STEALTH_INIT_SCRIPT = """ (() => { try { Object.defineProperty(navigator, "webdriver", { get: () => undefined }); } catch (e) {} })(); """ def stealth_enabled() -> bool: v = (os.environ.get("OPENCLAW_PLAYWRIGHT_STEALTH") or "1").strip().lower() return v not in ("0", "false", "no", "off") def persistent_context_launch_parts( *, extra_args: list[str] | None = None, ) -> tuple[list[str], list[str] | None]: """ 返回 (args, ignore_default_args)。 ignore_default_args 为 None 时不应传给 launch_persistent_context。 """ args = ["--start-maximized"] if extra_args: args = args + list(extra_args) if not stealth_enabled(): return args, None if "--disable-blink-features=AutomationControlled" not in args: args.append("--disable-blink-features=AutomationControlled") return args, ["--enable-automation"]