from playwright.sync_api import sync_playwright import time import json print("🚀 Запускаем Headless-агента для создания карты личного кабинета...") with sync_playwright() as p: # Запускаем уже в фоновом (headless) режиме, так как куки сохранены! browser = p.chromium.launch_persistent_context( user_data_dir="/app/browser_context", headless=True, args=[ '--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage', '--disable-gpu', '--window-size=1280,1024' ] ) page = browser.pages[0] print("🌐 Переходим на главную страницу ЛК (dom.gosuslugi.ru)...") page.goto("https://dom.gosuslugi.ru/#!/main") # Ждем 5 секунд, чтобы все скрипты и данные кабинета прогрузились page.wait_for_timeout(5000) print("📸 Делаем полноразмерный скриншот кабинета...") page.screenshot(path="/app/cabinet_home_map.png", full_page=True) print("🗺️ Составляем карту ссылок (парсим меню)...") # Выполняем JS прямо на странице, чтобы вытащить структуру links = page.evaluate('''() => { let menu_links = []; // Собираем все осмысленные ссылки document.querySelectorAll('a').forEach(a => { let text = a.innerText.trim(); if (a.href && text.length > 0 && a.href.includes('dom.gosuslugi.ru')) { menu_links.push({text: text, href: a.href}); } }); return menu_links; }''') # Сохраняем карту ссылок в JSON with open("/app/cabinet_links_map.json", "w", encoding="utf-8") as f: json.dump(links, f, ensure_ascii=False, indent=2) print(f"✅ Готово! Найдено уникальных ссылок: {len(links)}") print("💾 Скриншот: cabinet_home_map.png") print("💾 Карта: cabinet_links_map.json") browser.close()