🎯 Goal
Create a desktop program or script (in Python or Node.js) that automatically opens real Chrome profiles, logs into 20 Three+ accounts, 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 (number set in config).
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 browser, navigation, clicks, pauses.
Skips accounts from which the code has already been obtained — determined via 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 — reads and saves it.
b) In rare cases, a link “Go to your codes” appears — 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.
Ends the operation.
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
🗺️ Site features
🛠️ Technologies
Python + Playwright or Node.js + Puppeteer
Use of real Chrome profiles
Pauses: random + time.sleep()
Configuration via JSON or INI
📝 Waiting for output
.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, genuine 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-60 accounts in 10 minutes.
The program may not perform login — instead, it uses already logged-in profiles.
All behavior must be as “human” as possible: open browser, delays, real clicks, avoid simultaneous requests.
IP remains unchanged, proxies are not used.
🔹 Python + Playwright or Node.js + Puppeteer — are truly the right choices because:
They allow launching real Chrome with profiles, without headless mode and unnecessary emulation.
They work reliably even with Flutter Web sites (like Three+).
🔹 No authorization — 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: mimic 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.