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()
    
    url = 'https://www.facebook.com/profile.php?id=61594841053758&sk=directory_work'
    page.goto(url, wait_until='domcontentloaded', timeout=30000)
    page.wait_for_timeout(3000)
    
    # 1. Company
    comp_input = page.locator("input[aria-label='Company']")
    if comp_input.count() == 0:
        print('Opening Work form...')
        page.locator("div[role='button']:has-text('Work experience'), span:has-text('Work experience')").first.click()
        page.wait_for_timeout(2000)
        comp_input = page.locator("input[aria-label='Company']")
        
    print('Filling Company: History Vault...')
    comp_input.first.click()
    comp_input.first.fill('History Vault')
    page.wait_for_timeout(2000)
    
    # Click company dropdown option
    comp_opt = page.locator("div[role='listbox'] div[role='option'], div[role='option'], ul[role='listbox'] li").first
    if comp_opt.count() > 0:
        print('Selected company:', comp_opt.inner_text().replace('\n', ' '))
        comp_opt.click()
    page.wait_for_timeout(2000)
    
    # 2. Position
    print('Typing Position: Video Producer...')
    pos_input = page.locator("input[aria-label='Position']").first
    pos_input.click()
    pos_input.fill('Video Producer')
    page.wait_for_timeout(2000)
    
    # Click position dropdown option
    pos_opts = page.locator("div[role='listbox'] div[role='option'], div[role='option'], ul[role='listbox'] li")
    print('Position options count:', pos_opts.count())
    if pos_opts.count() > 0:
        print('Selecting position option:', pos_opts.first.inner_text().replace('\n', ' '))
        pos_opts.first.click()
    else:
        page.keyboard.press('Enter')
    page.wait_for_timeout(2000)
    
    # 3. City/Town
    print('Typing City: San Jose, California...')
    city_input = page.locator("input[aria-label='City/Town']").first
    city_input.click()
    city_input.fill('San Jose, California')
    page.wait_for_timeout(2000)
    city_opts = page.locator("div[role='listbox'] div[role='option'], div[role='option'], ul[role='listbox'] li")
    print('City options count:', city_opts.count())
    if city_opts.count() > 0:
        print('Selecting city option:', city_opts.first.inner_text().replace('\n', ' '))
        city_opts.first.click()
    page.wait_for_timeout(2000)
    
    # 4. Description
    print('Filling Description...')
    desc = page.locator("textarea")
    if desc.count() > 0:
        desc.first.fill('Producing high-impact 4K historical animation documentaries.')
    page.wait_for_timeout(1000)
    
    page.screenshot(path=r'C:\Projects\Historical\FacebookAutoPoster\work_ready_v2.png')
    
    # 5. Check Save button
    save_btn = page.locator("div[role='button']:has-text('Save'), span:has-text('Save')").first
    print('Clicking Save...')
    save_btn.click()
    page.wait_for_timeout(5000)
    
    page.screenshot(path=r'C:\Projects\Historical\FacebookAutoPoster\work_done.png')
    print('Finished submit_work_v2!')
