You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

22 lines
1.1 KiB

import json
from playwright.sync_api import sync_playwright
URL = 'file:///E:/code/crm-backend-matt/.scratch/customer-demo-ref/demo/index.html'
errors = []
with sync_playwright() as p:
b = p.chromium.launch()
pg = b.new_page(viewport={'width': 1720, 'height': 1080})
pg.on('pageerror', lambda e: errors.append(str(e)))
pg.goto(URL)
pg.wait_for_timeout(800)
n_sub = pg.eval_on_selector_all('#detailPanel .subtabs button', 'els => els.length')
projects_btn = pg.eval_on_selector_all('#detailPanel .subtabs button[data-s="projects"]', 'els => els.length')
g5 = pg.eval_on_selector_all('[data-defect="G5"]', 'els => els.length')
# 打开缺陷面板,统计台账行数
pg.click('[data-defect-panel]')
pg.wait_for_timeout(300)
panel_rows = pg.eval_on_selector_all('[data-defect-row]', 'els => els.length')
pg.screenshot(path='E:/code/crm-backend-matt/.scratch/customer-demo-ref/demo/shots/t11-quick-detail.png')
b.close()
print(json.dumps({'pageerror': errors, 'subtabs': n_sub, 'projects_tab': projects_btn,
'g5_badge': g5, 'panel_rows': panel_rows}, ensure_ascii=False))