const { chromium } = require('playwright'); const fs = require('fs'); (async()=>{ const browser=await chromium.launch({headless:true,executablePath:'C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe'}); const page=await browser.newPage({viewport:{width:1400,height:1000}}); page.on('pageerror',e=>console.log('pageerror:',e.message)); await page.goto('http://127.0.0.1:8931/AI%E5%BF%AB%E9%80%9F%E6%8A%A5%E4%BB%B7_Demo2.html?v=dimension-test',{waitUntil:'load'}); const data=fs.readFileSync('C:/Users/miao/Downloads/494f54100a93c5a6e0c90f404c597514.jpeg').toString('base64'); await page.evaluate(data=>{qUploadedDrawing={name:'test.jpeg',type:'image/jpeg'};qUploadedDrawingUrl='data:image/jpeg;base64,'+data;qUploadedDrawingDataUrl=qUploadedDrawingUrl;qStartAnalysis();},data); await page.waitForTimeout(500); await page.evaluate(()=>{qDimensionAnnotations.push({id:'test-dim',x1:8,y1:20,x2:8,y2:75,value:'3150 mm'});qDimensionAlign();qCalculateImageScale();}); const result=await page.evaluate(()=>({button:!!document.getElementById('q-add-dimension-btn'),layer:!!document.getElementById('q-dimension-layer'),items:document.querySelectorAll('.q-dimension-item').length,label:document.querySelector('.q-dimension-label')?.textContent,scale:qAIScaleRatio,drawing:[qAIDrawingWidth,qAIDrawingHeight],rawHidden:getComputedStyle(document.getElementById('q-ai-raw-img')).display})); console.log(JSON.stringify(result)); await browser.close(); })().catch(e=>{console.error(e);process.exit(1)});