debug_price_detail_layout.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334
  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:1400,height:1000}});
  6. const errors=[];
  7. page.on('pageerror',e=>errors.push(e.message));
  8. 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=price-layout-2',{waitUntil:'load'});
  9. const data=fs.readFileSync('C:/Users/miao/Downloads/494f54100a93c5a6e0c90f404c597514.jpeg').toString('base64');
  10. await page.evaluate(data=>{qUploadedDrawing={name:'test.jpeg',type:'image/jpeg'};qUploadedDrawingUrl='data:image/jpeg;base64,'+data;qUploadedDrawingDataUrl=qUploadedDrawingUrl;qStartAnalysis();},data);
  11. await page.waitForTimeout(300);
  12. await page.locator('.q-furniture-tool').first().click();
  13. await page.evaluate(()=>qProceedFurnitureToDimensions());
  14. await page.waitForTimeout(200);
  15. await page.evaluate(()=>qFinishAnalysisNew());
  16. await page.waitForTimeout(300);
  17. await page.evaluate(()=>{
  18. qRoomItems[0].push({name:'抽屉',itemType:'extra',isExtra:true,width:0,height:0,area:2,unitPrice:130,total:260,note:'导轨抽屉'});
  19. qRenderStep4();
  20. });
  21. await page.waitForTimeout(300);
  22. const result=await page.evaluate(()=>({
  23. cards:document.querySelectorAll('.q-price-room-card').length,
  24. baseRows:document.querySelectorAll('.q-price-detail-table .q-base-row').length,
  25. extraRows:document.querySelectorAll('.q-price-detail-table .q-extra-row').length,
  26. metrics:document.querySelectorAll('.q-price-room-metrics .q-price-metric').length,
  27. detailText:document.querySelector('#q-room-items-section').innerText,
  28. errors:[]
  29. }));
  30. result.errors=errors;
  31. await page.screenshot({path:'price_detail_layout_preview.png',fullPage:true});
  32. console.log(JSON.stringify(result));
  33. await browser.close();
  34. })().catch(e=>{console.error(e);process.exit(1)});