const { connect } = require('puppeteer-real-browser'); async function createAutzAccountWithGmail() { console.log('Launching browser...'); const { browser, page } = await connect({ headless: 'auto', args: ['--no-sandbox', '--disable-setuid-sandbox'], turnstile: true }); const testEmail = 'benneu40@gmail.com'; try { console.log('\n=== STEP 1: Navigate to Autz.org ==='); await page.goto('https://autz.org/onboarding/qinw2ix?callback_url=https%3A%2F%2Fmy.zone.id%2F', { waitUntil: 'networkidle2', timeout: 60000 }); console.log('Page loaded, waiting for content...'); await new Promise(resolve => setTimeout(resolve, 3000)); await page.screenshot({ path: 'gmail-step1.png', fullPage: true }); console.log('Screenshot saved: gmail-step1.png'); console.log('\n=== STEP 2: Enter Gmail address ==='); const emailField = await page.$('input[type="email"]'); if (emailField) { console.log(`Entering email: ${testEmail}`); await emailField.click(); await new Promise(resolve => setTimeout(resolve, 500)); await emailField.evaluate(el => el.value = ''); await emailField.type(testEmail, { delay: 100 }); await new Promise(resolve => setTimeout(resolve, 500)); const enteredValue = await emailField.evaluate(el => el.value); console.log('Email field value:', enteredValue); } console.log('\n=== STEP 3: Wait for Turnstile captcha ==='); console.log('Waiting for captcha to auto-solve...'); let captchaSolved = false; for (let i = 0; i < 30; i++) { await new Promise(resolve => setTimeout(resolve, 1000)); const html = await page.content(); if (html.includes('Success') || html.includes('success')) { console.log('Captcha solved!'); captchaSolved = true; await new Promise(resolve => setTimeout(resolve, 2000)); break; } if (i % 5 === 0) { console.log(`Waiting for captcha... ${i + 1}/30`); } } await page.screenshot({ path: 'gmail-step2.png', fullPage: true }); console.log('Screenshot saved: gmail-step2.png'); console.log('\n=== STEP 4: Click Continue button ==='); const allBtns = await page.$$('button'); for (const btn of allBtns) { const text = await page.evaluate(el => el.textContent, btn); if (text && text.includes('Continue') && !text.includes('Google')) { console.log('Clicking Continue button...'); await btn.focus(); await new Promise(resolve => setTimeout(resolve, 300)); await btn.click(); console.log('Clicked via .click()'); await new Promise(resolve => setTimeout(resolve, 1000)); await page.keyboard.press('Enter'); console.log('Pressed Enter key'); break; } } console.log('Waiting for page to change...'); for (let i = 0; i < 15; i++) { await new Promise(resolve => setTimeout(resolve, 1000)); const text = await page.evaluate(() => document.body.innerText); if (text.includes('Password') || text.includes('password') || text.includes('code') || text.includes('verify')) { console.log('Page changed! New content detected.'); break; } console.log(`Waiting... ${i + 1}/15`); } await page.screenshot({ path: 'gmail-step3.png', fullPage: true }); console.log('Screenshot saved: gmail-step3.png'); const pageText = await page.evaluate(() => document.body.innerText); console.log('\n--- Current page content ---'); console.log(pageText.substring(0, 1500)); console.log('\nCurrent URL:', page.url()); if (pageText.includes('Password') && pageText.includes('Name')) { console.log('\n=== SUCCESS: Registration form detected! ==='); console.log('The Gmail address worked - temp email domains were likely being blocked.'); } else if (pageText.includes('code') || pageText.includes('verify')) { console.log('\n=== Verification step detected ==='); } else { console.log('\n=== Page did not advance ==='); } } catch (error) { console.error('Error:', error.message); await page.screenshot({ path: 'gmail-error.png', fullPage: true }); } finally { await browser.close(); console.log('\nBrowser closed.'); } } createAutzAccountWithGmail();