import sys
from playwright.sync_api import sync_playwright

def descargar_pdf(url, referencia):
    with sync_playwright() as p:
        # Lanzamos un navegador "sin cabeza" (invisible)
        browser = p.chromium.launch(headless=True)
        page = browser.new_page()
        
        print(f"Navegando a: {url}")
        page.goto(url)
        
        # 1. Esperamos a que cargue la sección de documentos
        # En SECOP II suele ser un botón o una pestaña
        try:
            page.wait_for_selector("text='Documentos del Proceso'", timeout=10000)
            
            # 2. Localizamos los enlaces que terminan en .pdf o tienen icono de descarga
            links = page.query_selector_all("a")
            for link in links:
                href = link.get_attribute("href")
                if href and ".pdf" in href.lower():
                    # Descargamos el archivo
                    with page.expect_download() as download_info:
                        link.click()
                    download = download_info.value
                    download.save_as(f"./proyectos_descargados/{referencia}.pdf")
                    print(f"✅ PDF Original Guardado para {referencia}")
                    break
        except Exception as e:
            print(f"❌ No se encontró PDF directo en la página para {referencia}")
        
        browser.close()

if __name__ == "__main__":
    descargar_pdf(sys.argv[1], sys.argv[2])
