cap5
This commit is contained in:
1 parent
8eccfa1833
commit
c706116de3
1 file changed
+10
-1
@@ -967,15 +967,18 @@ async def run_browser_task(task_id: str, task: str, max_steps: int, model: str):
|
|||||||
|
|
||||||
# Автоматическое решение капчи перед запуском, если включено
|
# Автоматическое решение капчи перед запуском, если включено
|
||||||
if AUTO_SOLVE_CAPTCHA and CAPSOLVER_API_KEY:
|
if AUTO_SOLVE_CAPTCHA and CAPSOLVER_API_KEY:
|
||||||
|
logger.info(f"[{task_id}] AUTO_SOLVE_CAPTCHA enabled, checking for captcha...")
|
||||||
try:
|
try:
|
||||||
# Получаем страницу через browser_use
|
# Получаем страницу через browser_use
|
||||||
from browser_use import BrowserSession
|
from browser_use import BrowserSession
|
||||||
browser_session = BrowserSession(browser=browser)
|
browser_session = BrowserSession(browser=browser)
|
||||||
page = await browser_session.get_current_page()
|
page = await browser_session.get_current_page()
|
||||||
if page:
|
if page:
|
||||||
|
logger.info(f"[{task_id}] Page obtained, checking for captcha elements...")
|
||||||
# Проверяем наличие капчи
|
# Проверяем наличие капчи
|
||||||
captcha_found = await page.query_selector('[data-sitekey]')
|
captcha_found = await page.query_selector('[data-sitekey]')
|
||||||
turnstile_found = await page.query_selector('iframe[src*="turnstile"]')
|
turnstile_found = await page.query_selector('iframe[src*="turnstile"]')
|
||||||
|
logger.info(f"[{task_id}] Captcha found: {captcha_found}, Turnstile found: {turnstile_found}")
|
||||||
if captcha_found or turnstile_found:
|
if captcha_found or turnstile_found:
|
||||||
logger.info(f"[{task_id}] CAPTCHA detected, attempting to solve automatically...")
|
logger.info(f"[{task_id}] CAPTCHA detected, attempting to solve automatically...")
|
||||||
# Вызываем функцию решения капчи
|
# Вызываем функцию решения капчи
|
||||||
@@ -984,8 +987,14 @@ async def run_browser_task(task_id: str, task: str, max_steps: int, model: str):
|
|||||||
logger.info(f"[{task_id}] CAPTCHA solved successfully!")
|
logger.info(f"[{task_id}] CAPTCHA solved successfully!")
|
||||||
else:
|
else:
|
||||||
logger.warning(f"[{task_id}] Failed to solve CAPTCHA automatically")
|
logger.warning(f"[{task_id}] Failed to solve CAPTCHA automatically")
|
||||||
|
else:
|
||||||
|
logger.info(f"[{task_id}] No captcha detected on page")
|
||||||
|
else:
|
||||||
|
logger.warning(f"[{task_id}] Could not get page")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.warning(f"[{task_id}] Auto-captcha solve failed: {e}")
|
logger.error(f"[{task_id}] Auto-captcha solve failed: {e}")
|
||||||
|
else:
|
||||||
|
logger.info(f"[{task_id}] AUTO_SOLVE_CAPTCHA={AUTO_SOLVE_CAPTCHA}, CAPSOLVER_API_KEY={'set' if CAPSOLVER_API_KEY else 'not set'}")
|
||||||
|
|
||||||
# Выполнение задачи
|
# Выполнение задачи
|
||||||
history: AgentHistoryList = await agent.run(max_steps=max_steps)
|
history: AgentHistoryList = await agent.run(max_steps=max_steps)
|
||||||
|
|||||||
Reference in new issue
Block a user