Development of a Python script for automating screenshot capture of games (iFrame/Canvas)
Project Description
It is necessary to develop a system for automated collection of screenshots of gameplay and rules (Paytable) for online slots from an aggregator (for example, slotslaunch.com). The final result is the generation of a PDF report for each game.
Main Challenge (Why It Is Difficult)
Previous attempts at full automation through "pure" computer vision (CV) or LLM (GPT-4o) showed low efficiency due to the lack of HTML markup inside game containers. Games run in iFrame, graphics are rendered on Canvas, and the interfaces of hundreds of providers differ radically.
We are looking for a developer who will implement a hybrid approach: a Rule-based system (provider profiles) with elements of intelligent verification.
Technical Requirements and Stack
Language: Python 3.10+.
Libraries: Playwright (preferred) or Selenium.
Bypassing Protection: Mandatory use of
playwright-stealthand working with proxies to bypass Cloudflare (Turnstile).Image Processing: Pillow (for analyzing changes on the screen via pHash) and FPDF2 (for generating PDF).
Logic: Creating a modular architecture where a "profile" (button coordinates, navigation types) can be quickly created or adjusted for each provider.
Script Operation Algorithm
Parsing: Reading URL from
game_list.html.Initialization: Bypassing Cloudflare, waiting for iFrame to load.
Interaction (the most complex part):
Handling incoming pop-ups (sound selection, Splash Screen).
Screenshot 1: Main game screen.
Screenshot 2-N: Searching and opening the rules menu (icons "i", "?", "≡"). Scrolling through all pages of rules (scroll or clicks on arrows).
Saving: Compiling into PDF according to the structure
{provider}/{game_name}.pdf.
Conclusions from the Previous Stage (What Does NOT Work)
Full automation "blindly" (clicks on patterns) results in many false positives.
Exclusively neural network analysis (GPT-4o/Llama) for finding coordinates is too expensive and inaccurate (a 10-15% error is critical for small buttons).
Required Solution: A system of presets for specific providers (Pragmatic Play, Playtech, Spinomenal, etc.), where coordinates or visual anchors for buttons are described.
What We Expect from the Result
Core of the Script: Functional code that processes 90% of games from the top 50 providers.
Flexible Configuration: The ability to easily add new provider profiles without rewriting the main code (for example, through JSON/YAML configuration files).
Instruction: Documentation on setting up profiles for new types of UI.
Input: List of URLs.Output: Generated PDF files according to the provided samples.
Budget and Deadlines
Discussed individually. We are looking for a specialist who has already had experience with similar automation of complex interfaces.
What You Need to Provide as a Result:
Source code of the script in Python.
File
requirements.txtwith all dependencies.A brief instruction for running (including installing Playwright browsers).
Input: game_list.html
https://slotslaunch.com/alchemy-gaming/bass-cash-monstrosity
https://slotslaunch.com/apparat-gaming/3-golden-cherries
...
Output
"alchemy-gaming/bass-cash-monstrosity-rules.pdf"
"apparat-gaming/3-golden-cherries.pdf"
...
Client's review of cooperation with Vladyslav Petelskyi
Development of a Python script for automating screenshot capture of games (iFrame/Canvas)I recommend Vladislav as a communicative and diligent performer who is not afraid to tackle complex tasks. The project progressed quite quickly, with minimal delays in responses even during non-working hours and weekends.
Freelancer's review of cooperation with Serhii Khlivnenko
Development of a Python script for automating screenshot capture of games (iFrame/Canvas)A wonderful client and an extremely interesting technical project! The collaboration was maximally productive due to a clear understanding of the task and detailed specifications. I would like to especially highlight the high level of communication and quick verification of results. The entire technical stack (Playwright, complex iFrame/Canvas) was agreed upon at the start, which allowed for the implementation of a stable hybrid automation system without any delays. Payment is instant, and the requirements are justified. I sincerely recommend collaborating and would be happy to assist with new automations in the future!
-
Hello, I can write such a script in Node.js, please contact me.
-
Good day.
I have experience in automation with Python, working with Playwright, handling complex web interfaces, and building scripts for non-standard scenarios. Your case is clear: "blind" automation will not work here; a hybrid logic with provider profiles, screen state checks, and a proper modular architecture is needed.
I can implement:
— the core script in Python
— work through Playwright
— a modular system of provider profiles
— taking screenshots of the game and paytable
… — compiling PDFs for each game
— requirements.txt and a brief instruction for running
The correct approach here is to first create a stable core and 2–3 provider profiles, after which we can scale to other UIs. If there are samples of PDFs and a list of priority providers, I will be able to estimate the workload more accurately.
To start, I need: an example game_list.html, a few priority providers, and preferably 2–3 examples of the expected result.
-
This is a complex engineering task that lies at the intersection of Browser Automation and Visual Regression Testing. I understand that the main problem is the "zoo" of interfaces on Canvas, where standard selectors are powerless. My approach is based on creating a provider-oriented framework, where the core of the script is responsible for the infrastructure (stealth mode, proxy, iFrame handling), and the UI specifics are moved to separate declarative configurations.
My technical approach to implementation:
1. Declarative profiles (DSL based on JSON/YAML):
Instead of writing code for each provider, I create a system of presets.
• Anchors: Visual anchors for finding buttons through template matching (OpenCV), if the coordinates are dynamic.
• Actions: A sequence of actions (click on "≡", then on "i", then click on the coordinates of the "Next" arrow until the pHash of the screenshot shows that the page is duplicated).
2. Intelligent interaction through Playwright:
• Stealth & Bypass: Using playwright-stealth and custom headers to bypass Turnstile/Cloudflare.
… • Canvas Interaction: Clicks on relative coordinates inside iFrame.
• pHash Verification: Using the ImageHash library. This will allow the script to understand that the rules have ended (when the next click on the arrow produces an identical screenshot by hash).
3. Handling "Splash Screens" and Pop-ups:
Automatic waiting for image stabilization before the first action. The script analyzes the entropy of the frame: if the image starts to change — the game has loaded, and the menu can be searched.
4. PDF Generation:
Using fpdf2 to create multi-page reports, where the first page is the Main Screen, and the following pages are step-by-step captured Paytable.
Why I am suitable for this task:
• Experience with Canvas: I know how to work with objects that cannot be "inspected" through the DOM.
• Understanding of anti-fraud systems: I know how to simulate human mouse movements (Bezier curves) to bypass aggregator protections.
• Architectural approach: I do not just write a linear script, but create a tool that your team can scale (adding new providers in 5-10 minutes through configuration).
Work plan:
1. Development of Core: Setting up Playwright Stealth, bypassing Cloudflare, and logic for switching in iFrame.
2. Creation of a preset system: Implementation of logic for reading JSON configs for top providers (Pragmatic, Playtech, etc.).
3. Image analysis module: Integration of pHash for automating rule scrolling.
4. Report generator: Final assembly of PDF.
Cost and deadlines: To be discussed after analyzing your game_list.html to estimate the number of necessary tasks.
-
172 1 1 Good day. I am ready to complete this project as I have extensive experience in application development.
-
2426 20 0 Good day, I am ready to complete your task quickly and efficiently. I have extensive experience in creating various parsers, including automation with bypassing different levels of protection. Write to me in private messages, and we will discuss the details. I will be happy to help)
Current freelance projects in the category Data Parsing
A specialist in Telegram promotion is required.
29 USD
Tasks: invite real users from the username database to new chats and send messages to the target database. Only quality traffic and work with a live audience are of interest — performers using bots, fake engagement, or low-quality methods are requested NOT TO DISTURB. Work… Data Parsing, Social Media Marketing (SMM) ∙ 1 day 16 hours back ∙ 8 proposals |
Collection of B2B database of companies in Germany
40 USD
Goal: To obtain a list of potential employers (clients) for B2B mailing. Region: Munich (München) + radius of 50 km. Required niches: Construction companies (Bauunternehmen) Food enterprises (Lebensmittelhersteller, meat processing plants, bakeries) Logistics and… Data Parsing, Lead Generation & Sales ∙ 1 day 18 hours back ∙ 30 proposals |
Carrier databaseInterested in compiling a database of carriers in Ukraine for the year 2026, including tankers, tarpaulins, grain carriers, and others. It is preferable to develop a table. Information Gathering, Data Parsing ∙ 1 day 20 hours back ∙ 31 proposals |
Consultation on parsing Instagram account subscribersHello. It is necessary to conduct a preliminary assessment of the feasibility of the following task. I have a list of Instagram accounts. The goal is to obtain contact information (primarily email addresses) of users who follow these accounts. Previously, I encountered companies… Data Parsing ∙ 5 days 11 hours back ∙ 12 proposals |
A specialist is needed to find contacts of decision-makers in Ukraine.It is necessary to gather a database (or ready database) of contacts of decision-makers (DMs) in companies in Ukraine. Information Gathering, Data Parsing ∙ 5 days 16 hours back ∙ 18 proposals |