fix listing parsing

This commit is contained in:
qananasikq
2026-04-14 19:31:57 +03:00
parent 6a334d3c64
commit 0add3913eb
5 changed files with 328 additions and 26 deletions

View File

@@ -69,18 +69,21 @@ class BrowserFactory:
self.settings = settings
def _resolve_engine(self) -> str:
# Выбор движка браузера.
# Выбор движка браузера.
engine = self.settings.browser_engine.strip().lower()
if engine == "auto":
return "firefox" if self.settings.headless else "chromium"
# Для IAAI в headless-режиме Chromium со stealth-скриптами
# значительно стабильнее Firefox по anti-bot.
return "chromium"
if engine in ("firefox", "chromium"):
return engine
logger.warning("Unknown IAAI_BROWSER_ENGINE=%r, falling back to auto", engine)
return "firefox" if self.settings.headless else "chromium"
return "chromium"
def create_browser(self, playwright: Playwright) -> Browser:
engine = self._resolve_engine()
proxy_dict = self.settings.proxy.to_playwright_dict()
logger.info("Resolved browser engine: requested=%s resolved=%s", self.settings.browser_engine, engine)
if engine == "firefox":
launch_kwargs: dict = {"headless": self.settings.headless}