require('dotenv').config() const puppeteer = require('puppeteer') const NIX_OPS = { executablePath: process.env.NIX_CHROMIUM_PATH, } const opts = process.env.ON_NIX ? NIX_OPS : {} const HOUR = 21 const fetchILMeteo = async () => { const browser = await puppeteer.launch(opts) const page = await browser.newPage() await page.goto('https://www.ilmeteo.it/meteo/Pisa') const weatherTable = await page.locator('.weather_table').waitHandle() const row = await weatherTable.$(`.forecast_1h[data-hour="${HOUR}"]`) const temp = await row.$('[data-value="temperatura"]') console.log(await temp?.evaluate(el => el.textContent)) await browser.close() } fetchILMeteo()