import os, sys, json, time

os.environ["BU_NAME"] = "work"
sys.path.insert(0, "/opt/data/browser-harness")
from helpers import goto, wait_for_load, sleep, screenshot, cdp, click, scroll, list_tabs, page_info, new_tab, switch_tab
from admin import daemon_alive, start_remote_daemon

NAME = "work"
assert daemon_alive(NAME), "Browser not alive!"

# Navigate to Ticketmaster login
print("Going to Ticketmaster login...")
goto("https://ticketmaster.sg/login")
wait_for_load()
sleep(5)
screenshot("/tmp/cbm_tm_04_auth.png")

page_text = cdp("Runtime.evaluate", expression="document.body.innerText.substring(0, 2000)", returnByValue=True)
print(f"Login page: {page_text}")

url = cdp("Runtime.evaluate", expression="window.location.href", returnByValue=True)
print(f"URL: {url}")

# Check input fields
inputs = cdp("Runtime.evaluate", expression="""
    (function() {
        let allInputs = document.querySelectorAll('input');
        let info = [];
        for (let i = 0; i < allInputs.length; i++) {
            info.push({type: allInputs[i].type, name: allInputs[i].name, id: allInputs[i].id, visible: allInputs[i].offsetParent !== null});
        }
        return JSON.stringify(info);
    })();
""", returnByValue=True)
print(f"Inputs: {inputs}")