# -*- coding: utf-8 -*-
r"""B110: tái hiện lỗi đăng nhập Agent-Lab bằng Chrome thật — kiểm form action resolve đi đâu + thử đăng nhập."""
import re, subprocess, time

S = 'labtest'
def ba(*a, t=240):
    r = subprocess.run(['browser-act'] + list(a), capture_output=True, text=True, encoding='utf-8',
                       errors='replace', timeout=t)
    return ((r.stdout or '') + (r.stderr or '')).strip()
def ev(js):
    return ba('--session', S, 'eval', js)

lst = ba('browser', 'list')
m = re.findall(r'(direct_local_\d+)', lst)
print('  browser id:', m[0] if m else 'KHÔNG THẤY')
if not m:
    raise SystemExit(1)

for url in ('https://desktop-9gsdkd2.tail0ffe94.ts.net/lab/',
            'https://desktop-9gsdkd2.tail0ffe94.ts.net/lab',
            'http://127.0.0.1:8098/'):
    print('=' * 90)
    print('URL thử:', url)
    print('  mở:', ba('--session', S, 'browser', 'open', m[0], url)[-60:])
    time.sleep(6)
    print('  thực tế:', ev("JSON.stringify({href:location.href, title:document.title, co_pass:!!document.querySelector('input[name=mat_khau]'), co_base:!!document.querySelector('base'), base:(document.querySelector('base')||{}).href})")[-260:])
    print('  form action (đã resolve):', ev("(()=>{const f=document.querySelector('form'); return f? f.action : 'khong co form';})()")[-120:])
    print('  cookie hiện có:', ev("document.cookie || '(rỗng)'")[-80:])
    # thử đăng nhập
    ev("(()=>{const i=document.querySelector('input[name=mat_khau]'); if(!i) return 'x'; i.value='lab-845c56'; const f=i.closest('form'); f.submit(); return 'da bam';})()")
    time.sleep(6)
    print('  sau đăng nhập:', ev("JSON.stringify({href:location.href, title:document.title, sai:document.body.innerText.indexOf('Sai mật khẩu')>=0, co_pass:!!document.querySelector('input[name=mat_khau]'), cookie:document.cookie.slice(0,60)})")[-260:])
