import sys
sys.stdout.reconfigure(encoding='utf-8')
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp('http://localhost:9222')
    context = browser.contexts[0]
    page = context.pages[0] if context.pages else context.new_page()
    
    # Inspect hierarchy of Uni [1]
    info = page.evaluate("""() => {
        const spans = Array.from(document.querySelectorAll('span')).filter(s => s.innerText === 'University');
        if (spans.length < 2) return null;
        const btnSpan = spans[1];
        let curr = btnSpan;
        const chain = [];
        while (curr && curr !== document.body) {
            chain.push({
                tag: curr.tagName,
                role: curr.getAttribute('role'),
                classes: curr.className,
                aria: curr.getAttribute('aria-label')
            });
            if (curr.getAttribute('role') === 'button' || curr.tagName === 'A' || curr.tagName === 'BUTTON') {
                curr.click();
                return { chain: chain, clicked: true };
            }
            curr = curr.parentElement;
        }
        return { chain: chain, clicked: false };
    }""")
    print('Hierarchy & click result:', info)
    page.wait_for_timeout(2000)
    page.screenshot(path=r'C:\Projects\Historical\FacebookAutoPoster\after_click_uni_js.png')
    print('Screenshot after_click_uni_js.png saved')
