import { readFile } from "node:fs/promises"; import puppeteer from "puppeteer"; const html = await readFile(new URL("./orders.html", import.meta.url), "utf8"); const browser = await puppeteer.launch(); try { const page = await browser.newPage(); await page.setContent(html); await page.locator("#ready-orders").click(); await page.waitForSelector('[data-filter="ready"]'); const orders = await page.$$eval("tbody tr:not([hidden])", rows => rows.map(row => ({ order: row.cells[0].textContent.trim(), items: Number(row.cells[1].textContent), status: row.cells[2].textContent.trim(), })), ); console.log(JSON.stringify(orders, null, 2)); } finally { await browser.close(); }