xiaoh2018 commited on
Commit
4b5def4
·
verified ·
1 Parent(s): 2207529

Upload browser_captcha_personal.py

Browse files
src/services/browser_captcha_personal.py CHANGED
@@ -3,10 +3,16 @@ import time
3
  import re
4
  import os
5
  from typing import Optional, Dict
6
- from playwright.async_api import async_playwright, BrowserContext, Page
7
 
8
  from ..core.logger import debug_logger
9
 
 
 
 
 
 
 
 
10
  # ... (保持原来的 parse_proxy_url 和 validate_browser_proxy_url 函数不变) ...
11
  def parse_proxy_url(proxy_url: str) -> Optional[Dict[str, str]]:
12
  """解析代理URL,分离协议、主机、端口、认证信息"""
@@ -57,6 +63,11 @@ class BrowserCaptchaService:
57
  return
58
 
59
  try:
 
 
 
 
 
60
  proxy_url = None
61
  if self.db:
62
  captcha_config = await self.db.get_captcha_config()
 
3
  import re
4
  import os
5
  from typing import Optional, Dict
 
6
 
7
  from ..core.logger import debug_logger
8
 
9
+ # Conditionally import playwright
10
+ try:
11
+ from playwright.async_api import async_playwright, BrowserContext, Page
12
+ PLAYWRIGHT_AVAILABLE = True
13
+ except ImportError:
14
+ PLAYWRIGHT_AVAILABLE = False
15
+
16
  # ... (保持原来的 parse_proxy_url 和 validate_browser_proxy_url 函数不变) ...
17
  def parse_proxy_url(proxy_url: str) -> Optional[Dict[str, str]]:
18
  """解析代理URL,分离协议、主机、端口、认证信息"""
 
63
  return
64
 
65
  try:
66
+ # 检查 Playwright 是否可用
67
+ if not PLAYWRIGHT_AVAILABLE:
68
+ debug_logger.log_error("[BrowserCaptcha] ❌ Playwright 不可用,请使用 YesCaptcha 服务")
69
+ raise ImportError("Playwright 未安装,请使用 YesCaptcha 服务")
70
+
71
  proxy_url = None
72
  if self.db:
73
  captcha_config = await self.db.get_captcha_config()