debug-input.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. const { chromium } = require('playwright');
  2. (async () => {
  3. const browser = await chromium.launch({ headless: true });
  4. const page = await browser.newPage();
  5. console.log('=== 详细检查输入框问题 ===\n');
  6. await page.goto('http://localhost:5173/#/pages/video-generator/create', {
  7. waitUntil: 'networkidle',
  8. timeout: 30000
  9. });
  10. // 等待更长时间
  11. await page.waitForTimeout(5000);
  12. // 检查 step-panel 的显示状态
  13. console.log('1. 检查步骤面板:');
  14. const panels = await page.locator('.step-panel').all();
  15. console.log(` 找到 ${panels.length} 个步骤面板`);
  16. for (let i = 0; i < panels.length; i++) {
  17. const panel = panels[i];
  18. const isVisible = await panel.isVisible();
  19. const display = await panel.evaluate(e => getComputedStyle(e).display);
  20. const opacity = await panel.evaluate(e => getComputedStyle(e).opacity);
  21. const visibility = await panel.evaluate(e => getComputedStyle(e).visibility);
  22. console.log(` 面板 ${i + 1}:`);
  23. console.log(` - isVisible(): ${isVisible ? '✅' : '❌'}`);
  24. console.log(` - display: ${display}`);
  25. console.log(` - opacity: ${opacity}`);
  26. console.log(` - visibility: ${visibility}`);
  27. }
  28. // 检查表单元素
  29. console.log('\n2. 检查表单元素:');
  30. const formSections = await page.locator('.form-section').all();
  31. console.log(` 找到 ${formSections.length} 个表单区域`);
  32. // 检查第一个表单区域
  33. if (formSections.length > 0) {
  34. const firstSection = formSections[0];
  35. const sectionTitle = await firstSection.locator('.section-title').textContent();
  36. console.log(` 第一个区域标题: "${sectionTitle}"`);
  37. // 检查输入框
  38. const input = await firstSection.locator('input').first();
  39. const inputExists = await input.count() > 0;
  40. console.log(` 输入框存在: ${inputExists ? '✅' : '❌'}`);
  41. if (inputExists) {
  42. const inputVisible = await input.isVisible();
  43. const inputDisplay = await input.evaluate(e => getComputedStyle(e).display);
  44. const inputOpacity = await input.evaluate(e => getComputedStyle(e).opacity);
  45. console.log(` 输入框可见: ${inputVisible ? '✅' : '❌'}`);
  46. console.log(` 输入框 display: ${inputDisplay}`);
  47. console.log(` 输入框 opacity: ${inputOpacity}`);
  48. // 尝试截图
  49. await input.screenshot({ path: 'input-screenshot.png' });
  50. console.log(' 已保存输入框截图: input-screenshot.png');
  51. }
  52. }
  53. // 保存完整页面截图
  54. await page.screenshot({ path: 'full-page-debug.png', fullPage: true });
  55. console.log('\n3. 已保存完整页面截图: full-page-debug.png');
  56. await browser.close();
  57. })();