const { chromium } = require("playwright"); async function debugVercelHTML() { console.log("πŸ” Vercel HTML 상세 뢄석 μ‹œμž‘"); const browser = await chromium.launch({ headless: true }); const page = await browser.newPage(); try { await page.goto("https://zellyy-finance.vercel.app/", { waitUntil: "networkidle", timeout: 30000, }); // HTML 전체 λ‚΄μš© 좜λ ₯ const htmlContent = await page.content(); console.log("πŸ“„ HTML 전체 λ‚΄μš©:"); console.log("=".repeat(80)); console.log(htmlContent); console.log("=".repeat(80)); // head νƒœκ·Έ λ‚΄μš© 확인 const headContent = await page.locator("head").innerHTML(); console.log("\nπŸ“ HEAD νƒœκ·Έ λ‚΄μš©:"); console.log(headContent); // body νƒœκ·Έ λ‚΄μš© 확인 const bodyContent = await page.locator("body").innerHTML(); console.log("\nπŸ“ BODY νƒœκ·Έ λ‚΄μš©:"); console.log(bodyContent); // JavaScript μ—λŸ¬ 확인 const jsErrors = []; page.on("pageerror", (error) => { jsErrors.push(error.message); }); // νŽ˜μ΄μ§€ μƒˆλ‘œκ³ μΉ¨ν•˜μ—¬ μ—λŸ¬ 캑처 await page.reload({ waitUntil: "networkidle" }); console.log("\n🚨 JavaScript μ—λŸ¬λ“€:"); if (jsErrors.length === 0) { console.log("μ—λŸ¬ μ—†μŒ"); } else { jsErrors.forEach((error, index) => { console.log(`${index + 1}. ${error}`); }); } // λ„€νŠΈμ›Œν¬ μš”μ²­ 확인 const failedRequests = []; page.on("requestfailed", (request) => { failedRequests.push( `${request.method()} ${request.url()} - ${request.failure()?.errorText}` ); }); await page.reload({ waitUntil: "networkidle" }); console.log("\n🌐 μ‹€νŒ¨ν•œ λ„€νŠΈμ›Œν¬ μš”μ²­λ“€:"); if (failedRequests.length === 0) { console.log("μ‹€νŒ¨ν•œ μš”μ²­ μ—†μŒ"); } else { failedRequests.forEach((request, index) => { console.log(`${index + 1}. ${request}`); }); } // DOM μƒνƒœ 확인 const rootElement = await page.locator("#root").count(); console.log( `\n🎯 #root μš”μ†Œ 쑴재: ${rootElement > 0 ? "βœ… 있음" : "❌ μ—†μŒ"}` ); if (rootElement > 0) { const rootHTML = await page.locator("#root").innerHTML(); console.log("πŸ“ #root λ‚΄μš©:"); console.log(rootHTML); } } catch (error) { console.error("❌ 디버깅 쀑 였λ₯˜:", error.message); } finally { await browser.close(); console.log("🏁 디버깅 μ™„λ£Œ"); } } debugVercelHTML().catch(console.error);