debug_furniture_drag.js 2.1 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. page.on('console', m => console.log('console:', m.type(), m.text()));
  7. page.on('pageerror', e => console.log('pageerror:', 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=drag-debug', { waitUntil: 'load' });
  9. const image = fs.readFileSync('C:/Users/miao/Downloads/494f54100a93c5a6e0c90f404c597514.jpeg').toString('base64');
  10. await page.evaluate(data => {
  11. qUploadedDrawing = { name: 'debug.jpeg', size: data.length, type: 'image/jpeg' };
  12. qUploadedDrawingUrl = 'data:image/jpeg;base64,' + data;
  13. qUploadedDrawingDataUrl = qUploadedDrawingUrl;
  14. qStartAnalysis();
  15. }, image);
  16. await page.waitForTimeout(800);
  17. console.log('tools:', await page.locator('.q-furniture-tool').count());
  18. console.log('drawingVisible:', await page.locator('#q-ai-cleaned-img').isVisible());
  19. await page.locator('.q-furniture-tool').first().click();
  20. await page.waitForTimeout(300);
  21. console.log('afterClick:', await page.locator('.q-furniture-v3').count());
  22. const tool = page.locator('.q-furniture-tool').nth(1);
  23. const drawing = page.locator('#q-ai-cleaned-img');
  24. const workspace = page.locator('#q-floorplan-layout-workspace');
  25. const drawingBox = await drawing.boundingBox();
  26. const workspaceBox = await workspace.boundingBox();
  27. await tool.dragTo(workspace, { targetPosition: { x: drawingBox.x - workspaceBox.x + drawingBox.width / 2, y: drawingBox.y - workspaceBox.y + drawingBox.height / 2 } });
  28. await page.waitForTimeout(300);
  29. console.log('afterDrag:', await page.locator('.q-furniture-v3').count());
  30. console.log('layoutState:', await page.evaluate(() => qFurnitureLayout));
  31. await page.screenshot({ path: 'C:/Users/miao/Documents/数夫中间表数据抓取/debug-furniture-result.png', fullPage: true });
  32. await browser.close();
  33. })().catch(e => { console.error(e); process.exit(1); });