From 456e9fc582ccf663b9616bdfc89c8240a306c913 Mon Sep 17 00:00:00 2001 From: hjq <770690987@qq.com> Date: Fri, 26 Jun 2026 20:39:31 +0800 Subject: [PATCH] =?UTF-8?q?BOM=E5=8F=91=E6=96=99=E5=AF=B9=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- browser_login/login.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/browser_login/login.py b/browser_login/login.py index 4e765a1..76c5501 100644 --- a/browser_login/login.py +++ b/browser_login/login.py @@ -98,30 +98,27 @@ def patch_drission_ws_handshake() -> None: break raise last_err - # 重新补回 WS 握手补丁,这两个补丁都需要 - if is_linux_env() and not getattr(dp_driver_module, "_DTSK_WS_PATCHED", False): + if is_linux_env(): dp_driver_module.create_connection = resilient_create_connection import websocket websocket.create_connection = resilient_create_connection import DrissionPage._base.driver as driver_mod driver_mod.create_connection = resilient_create_connection - dp_driver_module._DTSK_WS_PATCHED = True # 之前加在 ChromiumPage(opt) 前面其实没用,因为 run_browser 是在 ChromiumPage 实例化时才触发启动。 # 真正的解决办法是拦截原生库里去请求 /json/version 的那段代码。 if is_linux_env() and not getattr(dp_driver_module, "_DTSK_UUID_PATCHED", False): import DrissionPage._functions.browser as dp_browser_module - # 保存原生的 run_browser 函数 - original_run_browser = dp_browser_module._run_browser + # 保存原生的 test_connect 函数 + original_test_connect = dp_browser_module.test_connect - def resilient_run_browser(port, path, args): - log("INFO", "[DEBUG] 拦截到 _run_browser 启动 Chrome,强制等待 2 秒以防 UUID 跳变...") - res = original_run_browser(port, path, args) - time.sleep(2) - return res + def resilient_test_connect(ip, port): + log("INFO", "[DEBUG] 拦截到 test_connect,强制等待 3 秒以防 Chrome 还没准备好 HTTP 接口...") + time.sleep(3) + return original_test_connect(ip, port) # 替换它 - dp_browser_module._run_browser = resilient_run_browser + dp_browser_module.test_connect = resilient_test_connect dp_driver_module._DTSK_UUID_PATCHED = True # ==============================================================