#!/usr/bin/env python3
from playwright.sync_api import sync_playwright
import json

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    context = browser.new_context(
        user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
    )
    page = context.new_page()
    
    page.goto('http://www.njls.gov.cn/lsqrmzf/214/228/index_17658.html', 
              wait_until='networkidle', timeout=30000)
    
    # Collect page info
    info = {
        'title': page.title(),
        'dataCount': page.evaluate('window.dataCount'),
        'totalList': page.evaluate('window.totalList'),
        'pageSize': page.evaluate('window.pageSize'),
    }
    print(json.dumps(info, ensure_ascii=False))
    
    # Get page div HTML
    page_div = page.query_selector('#page')
    if page_div:
        print('PAGE_DIV:' + page_div.inner_html()[:500])
    else:
        print('PAGE_DIV:NOT_FOUND')
    
    # Get pageNav
    page_nav = page.query_selector('#pageNav')
    if page_nav:
        print('PAGE_NAV:' + page_nav.inner_html()[:500])
    else:
        print('PAGE_NAV:NOT_FOUND')
    
    # Get internal script
    js_content = page.evaluate("""
        Array.from(document.querySelectorAll('script:not([src])'))
            .filter(s => s.textContent && s.textContent.includes('getXxgk'))
            .map(s => s.textContent.substring(0, 500))
            .join('\\n---\\n')
    """)
    print('GETXXGK_JS:' + (js_content or 'NOT_FOUND'))
    
    # Fetch JS files via evaluate
    trs_js = page.evaluate("""
        fetch('/images/trspage.js?' + Date.now())
            .then(r => r.text())
            .then(t => t.substring(0, 3000))
    """)
    print('TRSPAGE_JS_START:' + (trs_js or 'EMPTY'))
    
    xxgk_js = page.evaluate("""
        fetch('/images/xxgk_list_new_2021.js?' + Date.now())
            .then(r => r.text())
            .then(t => t.substring(0, 3000))
    """)
    print('XXGK_JS_START:' + (xxgk_js or 'EMPTY'))
    
    context.close()
    browser.close()
