debug_excel_export.js 1.5 KB

1234567891011121314
  1. const { chromium }=require('playwright');
  2. const fs=require('fs');
  3. (async()=>{
  4. const browser=await chromium.launch({headless:true,executablePath:'C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe'});
  5. const page=await browser.newPage({viewport:{width:1200,height:900},acceptDownloads:true});
  6. page.on('pageerror',e=>console.log('pageerror',e.message));page.on('dialog',d=>d.dismiss());
  7. 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=excel-test',{waitUntil:'load'});
  8. const data=fs.readFileSync('C:/Users/miao/Downloads/494f54100a93c5a6e0c90f404c597514.jpeg').toString('base64');
  9. await page.evaluate(d=>{qUploadedDrawing={name:'test.jpeg',type:'image/jpeg'};qUploadedDrawingUrl='data:image/jpeg;base64,'+d;qUploadedDrawingDataUrl=qUploadedDrawingUrl;qStartAnalysis();},data);
  10. await page.waitForTimeout(400);await page.locator('.q-furniture-tool').first().click();await page.evaluate(()=>qProceedFurnitureToDimensions());await page.waitForTimeout(400);await page.evaluate(()=>qFinishAnalysisNew());await page.waitForTimeout(400);
  11. const downloadPromise=page.waitForEvent('download');await page.getByText('导出Excel各柜体明细表(含基础与增值项)').click();const download=await downloadPromise;const path=await download.path();
  12. console.log({excelLoaded:await page.evaluate(()=>typeof ExcelJS!=='undefined'),suggested:download.suggestedFilename(),bytes:fs.statSync(path).size,step:await page.evaluate(()=>state.currentStep)});
  13. await browser.close();
  14. })().catch(e=>{console.error(e);process.exit(1)});