Dockerfile 部署
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user