# -*- coding: utf-8 -*- import io, sys from playwright.sync_api import sync_playwright sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') BASE = 'http://localhost:8088' with sync_playwright() as p: b = p.chromium.launch(channel='chrome', headless=True) page = b.new_page(viewport={'width': 1600, 'height': 1000}) page.goto(BASE, wait_until='domcontentloaded'); page.wait_for_timeout(2500) page.locator('input[placeholder="用户名"]').fill('admin') page.locator('input[placeholder="密码"]').fill('123456') page.locator('text="登录"').first.click(); page.wait_for_timeout(8000) page.goto(f'{BASE}/#/worktime/count', wait_until='domcontentloaded'); page.wait_for_timeout(8000) page.locator('.el-tabs__item:has-text("月报")').first.click(); page.wait_for_timeout(5000) mi = page.locator('input[placeholder="选择月"]').first mi.click(); page.wait_for_timeout(800) mi.fill('2026-06'); page.keyboard.press('Enter'); page.wait_for_timeout(1000) page.locator('button:has-text("查询")').first.click(); page.wait_for_timeout(6000) rows = page.locator('table tr') print('rows:', rows.count()) for i in range(min(rows.count(), 12)): t = rows.nth(i).inner_text().replace('\n', ' | ')[:120] print(i, t) page.screenshot(path='tmp/pw_dbg_month2.png', full_page=True) b.close() print('done')