| 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(); |
|
|