Fix: www/ movido a raíz, estructura final
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
import { chromium } from "playwright";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import { fileURLToPath } from "url";
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const SESSION_FILE = path.join(__dirname, "session.json");
|
||||
|
||||
const FALTANTES = [
|
||||
{ url: "https://voley.onlineeducation.center/es/campus/student/training/e/14197/m/19096/s/34868/study-resources/50320/show?me=140219", dest: "descargas/secciones/Modulo_1_Planificacion/Planificacion/recurso_50320.pdf" },
|
||||
{ url: "https://voley.onlineeducation.center/es/campus/student/training/e/14197/m/19096/s/34868/study-resources/46541/show?me=140221", dest: "descargas/secciones/Modulo_1_Planificacion/Planificacion/recurso_46541.pdf" },
|
||||
{ url: "https://voley.onlineeducation.center/es/campus/student/training/e/14197/m/19096/s/34868/study-resources/50142/show?me=140224", dest: "descargas/secciones/Modulo_1_Planificacion/Planificacion/recurso_50142.pdf" },
|
||||
{ url: "https://voley.onlineeducation.center/es/campus/student/training/e/14197/m/19096/s/34868/study-resources/50145/show?me=140225", dest: "descargas/secciones/Modulo_1_Planificacion/Planificacion/recurso_50145.pdf" },
|
||||
{ url: "https://voley.onlineeducation.center/es/campus/student/training/e/14197/m/19096/s/34868/study-resources/50144/show?me=140226", dest: "descargas/secciones/Modulo_1_Planificacion/Planificacion/recurso_50144.pdf" },
|
||||
{ url: "https://voley.onlineeducation.center/es/campus/student/training/e/14197/m/19096/s/34869/study-resources/50139/show?me=140234", dest: "descargas/secciones/Modulo_1_Planificacion/Preparacion_Atletica/recurso_50139.pdf" },
|
||||
{ url: "https://voley.onlineeducation.center/es/campus/student/training/e/14197/m/19096/s/34869/study-resources/50140/show?me=140236", dest: "descargas/secciones/Modulo_1_Planificacion/Preparacion_Atletica/recurso_50140.pdf" },
|
||||
{ url: "https://voley.onlineeducation.center/es/campus/student/training/e/14197/m/19096/s/34869/study-resources/50143/show?me=140237", dest: "descargas/secciones/Modulo_1_Planificacion/Preparacion_Atletica/recurso_50143.pdf" },
|
||||
{ url: "https://voley.onlineeducation.center/es/campus/student/training/e/14197/m/19096/s/34869/study-resources/50141/show?me=140238", dest: "descargas/secciones/Modulo_1_Planificacion/Preparacion_Atletica/recurso_50141.pdf" },
|
||||
];
|
||||
|
||||
(async () => {
|
||||
const browser = await chromium.launch({ headless: true });
|
||||
const context = await browser.newContext({ storageState: fs.existsSync(SESSION_FILE) ? SESSION_FILE : undefined, acceptDownloads: true });
|
||||
const page = await context.newPage();
|
||||
|
||||
console.log("Chequeando sesión...");
|
||||
await page.goto("https://voley.onlineeducation.center/es/campus/student/training/e/14197");
|
||||
if (page.url().includes("login")) {
|
||||
console.log("Sesion expirada, iniciando login...");
|
||||
await page.waitForSelector("#login-email", { timeout: 15000 });
|
||||
await page.fill("#login-email", "saldis_karina@hotmail.com");
|
||||
await page.fill("#login-password", "Martes13#");
|
||||
await page.click("#btn-login");
|
||||
await page.waitForURL("**/es/campus/**", { timeout: 30000 });
|
||||
console.log("Login exitoso, guardando sesión...");
|
||||
await context.storageState({ path: SESSION_FILE });
|
||||
}
|
||||
|
||||
for (const f of FALTANTES) {
|
||||
const fullDest = path.join(__dirname, f.dest);
|
||||
if (fs.existsSync(fullDest)) {
|
||||
console.log("Ya existe:", f.dest);
|
||||
continue;
|
||||
}
|
||||
console.log("Navegando a", f.url);
|
||||
try {
|
||||
const [download] = await Promise.all([
|
||||
page.waitForEvent('download', { timeout: 10000 }),
|
||||
page.goto(f.url).catch(e => {}) // catch the 'download is starting' navigation error
|
||||
]);
|
||||
await download.saveAs(fullDest);
|
||||
console.log("Guardado como descarga:", fullDest);
|
||||
} catch (e) {
|
||||
// No disparó descarga, debe ser una página
|
||||
try {
|
||||
await page.goto(f.url, { waitUntil: 'networkidle', timeout: 10000 });
|
||||
} catch (e2) {}
|
||||
await page.pdf({ path: fullDest, format: 'A4' });
|
||||
console.log("Guardado como PDF renderizado:", fullDest);
|
||||
}
|
||||
}
|
||||
|
||||
await browser.close();
|
||||
})();
|
||||
Reference in New Issue
Block a user