clawdbot-workspace/mailchimp_signup.py
2026-02-05 23:01:36 -05:00

82 lines
2.6 KiB
Python

#!/usr/bin/env python3
import asyncio
from playwright.async_api import async_playwright
import os
async def signup_mailchimp():
async with async_playwright() as p:
# Connect to existing Chrome instance
browser = await p.chromium.connect_over_cdp("http://127.0.0.1:18800")
# Get the page
context = browser.contexts[0]
pages = context.pages
page = None
for p in pages:
if 'mailchimp.com/signup' in p.url:
page = p
break
if not page:
print("Could not find Mailchimp signup page")
await browser.close()
return False
print(f"Found page: {page.url}")
# Dismiss cookie banner
try:
await page.wait_for_selector('button:has-text("Dismiss")', timeout=5000)
await page.click('button:has-text("Dismiss")')
print("Dismissed cookie banner")
await asyncio.sleep(1)
except:
print("No cookie banner or already dismissed")
# Fill out the form
email = "jake@burtonmethod.com"
password = "Mailchimp2026!Secure"
# Fill email field
await page.fill('input[name="email"]', email)
print(f"Filled email: {email}")
await asyncio.sleep(0.5)
# Fill username field (use email as username)
await page.fill('input[name="username"]', email)
print(f"Filled username: {email}")
await asyncio.sleep(0.5)
# Fill password field
await page.fill('input[name="new_password"]', password)
print(f"Filled password")
await asyncio.sleep(0.5)
# Click Sign up button
await page.click('button:has-text("Sign up")')
print("Clicked Sign up button")
# Wait for navigation or error
try:
await page.wait_for_load_state('networkidle', timeout=30000)
print(f"Navigated to: {page.url}")
# Take screenshot of result
await page.screenshot(path='/Users/jakeshore/.clawdbot/workspace/signup_result.png')
print("Screenshot saved")
return True
except Exception as e:
print(f"Error after signup: {e}")
await page.screenshot(path='/Users/jakeshore/.clawdbot/workspace/signup_error.png')
return False
await browser.close()
if __name__ == "__main__":
result = asyncio.run(signup_mailchimp())
if result:
print("Signup completed successfully")
else:
print("Signup failed")