🎯 Goal
Create a desktop application or script (in Python or Node.js) that automatically opens real Chrome profiles, logs into 20 accounts of Three+, extracts the code (number) from the page after login, and adds it to the same CSV table.
⚙️ Functionality
The program is launched manually on Windows (without background services or auto-start).
Processes the first 20 accounts per launch (the number is configurable).
Works through real Chrome with local profiles (user-data-dir + profile-directory).
Does not use headless modes, Selenium or HTTP requests.
Simulates human actions: opening the browser, navigation, clicks, pauses.
Skips accounts from which the code has already been obtained — determined by data in the same CSV.
🔄 Workflow Algorithm
Opens Chrome with the appropriate profile, already logged into Three+.
Goes to the Cineworld section, clicks the Get Reward button.
Getting the code:
a) The code appears in a popup window — read and save it.
b) In rare cases, a link “Go to yours codes” appears in the window — then the program navigates there and retrieves the code.
In any case, after clicking “Get Reward” the code always goes to the My Codes section, so the program should read it from there.
Saves the code in the corresponding column in the same CSV file next to the login.
Closes the browser, but does not log out.
Processes the next accounts (up to 20), skipping already processed ones.
Completes the work.
Next time the program is launched, it continues from the next unprocessed entries.
⚙️ Configuration (settings.json or .ini)
Path to Chrome (chrome.exe)
List of profiles (names or paths)
Rewards URL (changes weekly)
Delays between actions: 2–3 minutes (random)
Path to CSV file
🗺️ Website Features
🛠️ Technologies
Python + Playwright or Node.js + Puppeteer
Using real Chrome profiles
Pauses: random + time.sleep()
Configuration via JSON or INI
📝 Waiting for release
.exe file for Windows
Full source code with comments
README file with instructions
Example configuration file
🚨 Important
🧍♂️ All actions must imitate manual user work.
The program should operate as “human-like” as possible (with pauses, real User-Agent, and without sudden simultaneous requests), to avoid blocks or SMS verification requests.
✅ Manual site operation is stable — I can easily get codes from 40 accounts in 10 minutes.
✅ The program should replicate exactly this speed (not faster, not slower) to avoid suspicion.
The program does not perform login — it only uses already logged-in profiles.
All behavior should be as “human” as possible: open browser, delays, real clicks, avoid simultaneous requests.
Processing speed = ~20 accounts in 4–8 minutes (no faster!)
IP remains unchanged, proxies are not used.
The program should not trigger SMS verification.
🔹 Python + Playwright or Node.js + Puppeteer — are the right choices because:
They allow running real Chrome with profiles, without headless mode and unnecessary emulations.
They work reliably even with Flutter Web sites (like Three+).
🔹 No authentication — login is done via existing profiles, so risk of SMS confirmation is minimal (with proper user simulation).
🔹 Code collection via page.evaluate() — effective and natural, especially when navigating through My Codes.
🔹 Delays, clicks, user behavior — crucial: mimicking manual work (each profile opens separately, acts with pauses) — key to avoiding blocks.
🔹 CSV logic — correct: reading, checking, updating — all within one file, no extra databases.
🔹 No headless, Selenium, or proxies — exactly what is needed for safe automation in such a sensitive environment.
✅ If everything is implemented as described — the program will fully meet the requirements and work most reliably as manual interaction.