"""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()