const puppeteer = require("puppeteer"); const zulip = require("zulip-js"); const moment = require("moment"); const { addLogFunction } = require("./addLogFunctionJS"); (async () => { // Launch a headless browser const browser = await puppeteer.launch({ headless: true, args: ["--no-sandbox"], }); const config = { username: "networktool-bot@zulip.ipsupply.com.au", apiKey: "0jMAmOuhfLvBqKJikv5oAkyNM4RIEoAM", realm: "https://zulip.ipsupply.com.au", }; const client = await zulip(config); const page = await browser.newPage(); await page.goto("https://www.cskh.evnspc.vn/TraCuu/LichNgungGiamCungCapDien"); const selectBoxSelector1 = "select#idCongTyDienLuc"; await page.waitForSelector(selectBoxSelector1); await page.select(selectBoxSelector1, "PB11"); // In ra nội dung của trang mới setTimeout(async () => { const htmlContent = await page.evaluate(() => { // const tbody = document.querySelector("tbody"); // Lựa chọn thẻ cần trích xuất // const rows = tbody.querySelectorAll("tr"); // Lựa chọn tất cả các hàng (thẻ ) bên trong thẻ // // Lặp qua từng hàng và lấy nội dung của các cột (thẻ ) trong hàng // const data = []; // rows.forEach((row) => { // const columns = Array.from(row.querySelectorAll("td")); // Lựa chọn tất cả các cột (thẻ ) trong hàng // const rowData = columns.map((column) => column.textContent.trim()); // Lấy nội dung của các cột và xóa khoảng trắng // data.push(rowData); // Thêm dữ liệu của hàng vào mảng data // }); const htmlContent = document.querySelector('.notification').outerHTML return htmlContent || ""; }); var TurndownService = require('turndown') const turndownService = new TurndownService(); const markdown = turndownService.turndown(htmlContent); await browser.close(); let params = { type: "stream", to: "networkToolBot", topic: "powerSchedule", content: `:warning: :warning:\n\n ${markdown.replaceAll('KDC 91B', ':warning:KDC 91B:warning:').replaceAll('B31', ':warning:B31:warning:')}\n-------`, }; client.messages.send(params); let checkTime = moment(Date.now()).format("DD_MM_YYYY").toString() // if ( // markdown.filter((i) => (i.includes("KDC 91B") || i.includes("KDC91B")) && i.includes(checkTime)) // .length > 0 // ) { // let params = { // type: "stream", // to: "Cục tình báo", // topic: "Thông báo chung", // content: // ":warning: :date: :warning:\n\n" + // markdown // .filter((i) => i.includes("KDC 91B") || i.includes("KDC91B"))[0] // .replace(/KDC 91B/g, "**KDC 91B**") + // "\n-------", // }; // client.messages.send(params); // } const fileName = "/home/Log_service/app/store/logsAPI/" + moment(Date.now()).format("DD_MM_YYYY").toString() + ".log"; addLogFunction(fileName, JSON.stringify(params, null, 2), "powerSchedule") }, 5000); })();