require('dotenv').config() const puppeteer = require('puppeteer') const items = require('./items') const output = require('./output') async function initPuppeteer (page) { await page.setDefaultNavigationTimeout(0) await page.setRequestInterception(true) page.on('request', (request) => { if (['image'].includes(request.resourceType())) request.abort() else request.continue() }) } (async () => { const browser = await puppeteer.launch({ executablePath: process.env.EXECUTABLE }) const page = await browser.newPage() await initPuppeteer(page) for (const item of items) { console.log(`Looking at ${item.name}`) let partsPrice = 0 for (const part of item.parts) { partsPrice += await part.getPrice(page) } const setPrice = await item.set.getPrice(page) if (partsPrice < setPrice) { output.addItem(item.name, partsPrice, setPrice) } } await browser.close() output.submit() })()