main
 1from playwright.sync_api import sync_playwright
 2
 3# Example: Capturing console logs during browser automation
 4
 5url = 'http://localhost:5173'  # Replace with your URL
 6
 7console_logs = []
 8
 9with sync_playwright() as p:
10    browser = p.chromium.launch(headless=True)
11    page = browser.new_page(viewport={'width': 1920, 'height': 1080})
12
13    # Set up console log capture
14    def handle_console_message(msg):
15        console_logs.append(f"[{msg.type}] {msg.text}")
16        print(f"Console: [{msg.type}] {msg.text}")
17
18    page.on("console", handle_console_message)
19
20    # Navigate to page
21    page.goto(url)
22    page.wait_for_load_state('networkidle')
23
24    # Interact with the page (triggers console logs)
25    page.click('text=Dashboard')
26    page.wait_for_timeout(1000)
27
28    browser.close()
29
30# Save console logs to file
31with open('/mnt/user-data/outputs/console.log', 'w') as f:
32    f.write('\n'.join(console_logs))
33
34print(f"\nCaptured {len(console_logs)} console messages")
35print(f"Logs saved to: /mnt/user-data/outputs/console.log")