const puppeteer = require('puppeteer-core'); const path = require('path'); const GAME_DIR = '/home/andrey/work/fishing-game'; const GAME = 'file://' + path.join(GAME_DIR, 'index.html'); const CHROMIUM = process.env.CHROMIUM || '/usr/bin/chromium-browser'; const sleep = ms => new Promise(r => setTimeout(r, ms)); (async () => { const browser = await puppeteer.launch({ executablePath: CHROMIUM, headless: true, args: ['--no-sandbox', '--disable-dev-shm-usage', '--mute-audio'], }); const page = await browser.newPage(); await page.setViewport({ width: 1280, height: 720, deviceScaleFactor: 1 }); await page.goto(GAME, { waitUntil: 'load' }); await page.evaluate(() => localStorage.clear()); await page.reload({ waitUntil: 'load' }); await page.waitForFunction(() => !document.getElementById('menu').classList.contains('hidden'), { timeout: 8000, polling: 50 }); await page.click('#btnPlay'); await page.waitForFunction(() => state === 'IDLE', { timeout: 3000, polling: 50 }); // Try clicking the canvas directly const canvas = await page.$('canvas'); await canvas.click(); await sleep(100); console.log('After click:', await page.evaluate(() => state)); await browser.close(); })();