import sys
import time
from playwright.sync_api import sync_playwright

if hasattr(sys.stdout, 'reconfigure'):
    sys.stdout.reconfigure(encoding='utf-8')

print("Connecting to browser on port 9224...")
with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp("http://127.0.0.1:9224")
    page = browser.contexts[0].pages[0]
    print("Current page URL:", page.url)

    # If modal is open, hit escape twice
    page.keyboard.press("Escape")
    time.sleep(1)
    page.keyboard.press("Escape")
    time.sleep(1)

    print("Navigating to profile with domcontentloaded...")
    page.goto("https://www.facebook.com/profile.php?id=61594841053758", wait_until="domcontentloaded", timeout=30000)
    time.sleep(4)

    page.screenshot(path="FacebookAutoPoster/timeline_top.png")
    print("Saved timeline_top.png")

    # Scroll down to posts
    page.mouse.wheel(0, 600)
    time.sleep(2)
    page.screenshot(path="FacebookAutoPoster/timeline_posts_view.png")
    print("Saved timeline_posts_view.png")

    # Find posts text or aria-labels
    posts = page.locator("div[role='feed'] > div, div[role='main'] div[data-pagelet*='FeedUnit'], div[role='article']").all()
    print(f"Found {len(posts)} potential post elements.")
    for idx, post in enumerate(posts[:5]):
        text = post.inner_text()[:150].replace('\n', ' ')
        print(f"Post {idx}: {text}")
