// scripts/playwright-submit-applovin.js const { chromium } = require('@playwright/test'); const path = require('path'); const fs = require('fs'); const OUTPUT_DIR = 'C:/Users/encep/.gemini/antigravity-cli/brain/3ab7ae82-5634-41d5-93a7-3c12c22503e2/screenshots/live_portal_signups'; const CREDS = { email: 'yunchanpaca@gmail.com', password: 'ONVI2v4J#y', fullName: 'Yunchan Park', company: 'D3RO Voice AI', url: 'https://d3ro.app', }; async function submitAppLovin() { const browser = await chromium.launch({ channel: 'msedge', headless: true }); const context = await browser.newContext({ viewport: { width: 1440, height: 1080 }, userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36', }); const page = await context.newPage(); console.log('Navigating to AppLovin MAX...'); await page.goto('https://dash.applovin.com/signup', { waitUntil: 'networkidle', timeout: 30000 }); await page.waitForTimeout(2000); const nameInput = page.locator('input[placeholder*="name" i]').first(); const emailInput = page.locator('input[type="email"]').first(); const companyInput = page.locator('input[placeholder*="company" i]').first(); const websiteInput = page.locator('input[placeholder*="applovin.com" i], input[placeholder*="site" i]').first(); const storeUrlInput = page.locator('input[placeholder*="store" i]').first(); const passInputs = page.locator('input[type="password"]'); if (await nameInput.isVisible()) await nameInput.fill(CREDS.fullName); if (await emailInput.isVisible()) await emailInput.fill(CREDS.email); if (await companyInput.isVisible()) await companyInput.fill(CREDS.company); if (await websiteInput.isVisible()) await websiteInput.fill(CREDS.url); if (await storeUrlInput.isVisible()) await storeUrlInput.fill('https://play.google.com/store/apps/details?id=ai.d3ro.voice'); const count = await passInputs.count(); for (let i = 0; i < count; i++) { await passInputs.nth(i).fill(CREDS.password); } // Scroll down await page.evaluate(() => window.scrollBy(0, 400)); await page.waitForTimeout(1000); // Check checkboxes const checkboxes = page.locator('input[type="checkbox"]'); const cbCount = await checkboxes.count(); for (let i = 0; i < cbCount; i++) { try { await checkboxes.nth(i).check({ force: true }); } catch {} } const submitBtn = page.locator('button:has-text("Sign up"), button:has-text("Create Account"), button[type="submit"]').first(); if (await submitBtn.isVisible()) { console.log('Clicking Sign up button...'); await submitBtn.click(); await page.waitForTimeout(6000); } const shotPath = path.join(OUTPUT_DIR, '02_applovin_max_final_signup_state.png'); await page.screenshot({ path: shotPath, fullPage: true }); console.log('AppLovin MAX final response captured:', shotPath); await browser.close(); } submitAppLovin().catch(console.error);