36 lines
1.3 KiB
JavaScript
36 lines
1.3 KiB
JavaScript
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 });
|
|
|
|
// Use page.mouse.move + down + up
|
|
await page.mouse.move(640, 360);
|
|
await page.mouse.down();
|
|
await sleep(100);
|
|
console.log('After mouse.down:', await page.evaluate(() => state));
|
|
|
|
await page.mouse.up();
|
|
await sleep(100);
|
|
console.log('After mouse.up:', await page.evaluate(() => state));
|
|
|
|
await browser.close();
|
|
})();
|