"""Hjälpverktyg för att inspektera den inloggade sidans faktiska struktur. Körs separat (python -m rpa.discover) eftersom selectors i scraper.py bygger på gissad textstruktur. Detta skript loggar in (manuellt, BankID) och låter dig sedan, för varje sida du manuellt navigerar till, trycka Enter i terminalen för att spara en HTML-dump + skärmdump av aktuell sida i data/discover/. Använd dumparna för att hitta exakt länktext/selectors och uppdatera scraper.list_egenremisser. """ from datetime import datetime from playwright.sync_api import sync_playwright from . import config from .auth import ensure_logged_in from .browser import get_page, launch_context def main() -> None: with sync_playwright() as p: context = launch_context(p) page = get_page(context) ensure_logged_in(page) print( "Navigera manuellt i webbläsarfönstret till sidan du vill " "inspektera (t.ex. sidan som listar egenremisser). Tryck sedan " "Enter i den här terminalen för att spara en dump. Skriv 'q' " "för att avsluta." ) n = 0 while True: cmd = input("[Enter]=spara dump, q=avsluta: ").strip().lower() if cmd == "q": break n += 1 stamp = datetime.now().strftime("%Y%m%d_%H%M%S") html_path = config.DISCOVER_DIR / f"{stamp}_{n}.html" png_path = config.DISCOVER_DIR / f"{stamp}_{n}.png" html_path.write_text(page.content(), encoding="utf-8") page.screenshot(path=str(png_path), full_page=True) print(f"Sparade: {html_path.name} och {png_path.name} (url: {page.url})") context.close() if __name__ == "__main__": main()