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]
    
    # 1. Click "No" button via JS
    res_no = page.evaluate("""() => {
        const btns = Array.from(document.querySelectorAll('div[role="button"], span, div'));
        const noBtn = btns.find(b => b.innerText && b.innerText.trim() === 'No');
        if (noBtn) {
            noBtn.click();
            return 'Clicked No';
        }
        return 'No button not found';
    }""")
    print('No button click:', res_no)
    page.wait_for_timeout(2000)
    
    # 2. Click Home town button via JS
    res_home = page.evaluate("""() => {
        const all = Array.from(document.querySelectorAll('*'));
        const homeEl = all.find(e => e.innerText && e.innerText.trim() === 'Home town' && e.tagName !== 'H2' && e.children.length === 0);
        if (homeEl) {
            let p = homeEl;
            while (p && p.getAttribute('role') !== 'button') {
                p = p.parentElement;
            }
            if (p) {
                p.click();
                return 'Clicked Home town parent button';
            }
            homeEl.click();
            return 'Clicked Home town element';
        }
        return 'Home town not found';
    }""")
    print('Home town click:', res_home)
    page.wait_for_timeout(2000)
    page.screenshot(path=r'C:\Projects\Historical\FacebookAutoPoster\hometown_input_ready.png')
    
    # 3. Check what inputs are present now
    inps = page.locator("div[role='main'] input")
    print('Inputs in main:', inps.count())
    for i in range(inps.count()):
        inp = inps.nth(i)
        print(f"[{i}] type={inp.get_attribute('type')} placeholder={inp.get_attribute('placeholder')}")
