Dockerfile 部署

This commit is contained in:
hjq
2026-06-12 17:47:07 +08:00
parent 145f31d4c1
commit 2b461c2aea
2 changed files with 64 additions and 1 deletions

View File

@@ -5,9 +5,11 @@ ERP 登录模块 - DrissionPage
import os
import time
import datetime
import urllib.request
from pathlib import Path
from dotenv import load_dotenv
from DrissionPage import ChromiumPage, ChromiumOptions
from DrissionPage._base.chromium import handle_options
# ── 加载 .env ─────────────────────────────────────────────────────────────────
load_dotenv(Path(__file__).parent / ".env")
@@ -98,10 +100,42 @@ def get_page(headless: bool = False, port: int = 9222) -> ChromiumPage:
# 本地开发环境:使用固定端口,方便复用
co.set_local_port(port)
# #region debug-point A:drission-target
opt = handle_options(co)
log(
"INFO",
"[DEBUG] Chromium 连接参数: "
f"address={opt.address or '<empty>'}, "
f"browser_path={opt.browser_path or '<auto>'}, "
f"auto_port={opt.is_auto_port}, "
f"headless={opt.is_headless}, "
f"user_data_path={getattr(opt, 'user_data_path', '') or '<auto>'}"
)
log(
"INFO",
"[DEBUG] Chromium 启动参数: "
+ " | ".join(opt.arguments)
)
# #endregion
try:
page = ChromiumPage(co)
page = ChromiumPage(opt)
return page
except Exception as e:
# #region debug-point B:devtools-http-probe
if opt.address:
for endpoint in ("json/version", "json/list"):
url = f"http://{opt.address}/{endpoint}"
try:
with urllib.request.urlopen(url, timeout=2) as resp:
body = resp.read().decode("utf-8", errors="replace")
log("WARN", f"[DEBUG] DevTools 探测 {url} -> HTTP {resp.status}")
log("WARN", f"[DEBUG] DevTools 响应体 {endpoint}: {body[:1000]}")
except Exception as probe_err:
log("WARN", f"[DEBUG] DevTools 探测失败 {url}: {probe_err}")
else:
log("WARN", "[DEBUG] DevTools 探测跳过address 为空")
# #endregion
log("ERR", f"浏览器初始化失败: {e}")
raise