Explorer
/proc/5461/root/tmp/verify_image_states.py
← Zurück ↓ Download
import asyncio,json
from playwright.async_api import async_playwright
BASE='https://sma.agentsolutions-mallorca.com'
CASES=[('41222120-fb41-4fb1-ad14-c8a873b9a0a4','rss'),('b08a26eb-05a8-452c-853d-ff6f54f8ad42','youtube'),('ee60e889-b69e-4551-91de-e2e8c3bc50bf','watch'),('919a871d-7de7-4335-897f-1e0411b87c42','no_image')]
async def main():
 async with async_playwright() as p:
  b=await p.chromium.launch(headless=True,executable_path='/snap/bin/chromium',args=['--no-sandbox']); pg=await b.new_page(); out={}
  for sid,label in CASES:
   r=await pg.goto(f'{BASE}/cockpit?highlight={sid}',wait_until='networkidle',timeout=60000); card=pg.locator(f'#sig-{sid}');
   info=await card.evaluate("e=>{const i=e.querySelector('.thumb img'),s=e.querySelector('.thumb>span'); return {img:!!i,naturalWidth:i?i.naturalWidth:0,imgDisplay:i?getComputedStyle(i).display:'none',symbolDisplay:s?getComputedStyle(s).display:'none',src:i?i.src:null}}")
   out[label]={'http':r.status if r else None,'card':await card.count(),'panel':await pg.locator('#pcontent.on').count(),**info}
  await b.close(); print(json.dumps(out,ensure_ascii=False))
asyncio.run(main())