Estoy escribiendo algunas funciones de utilidad para titiritero para acelerar el flujo de trabajo. Quiero asignar funciones de devolución de llamada a detectores de eventos creados dinámicamente. Aquí está mi código hasta ahora:
const puppeteer = require('puppeteer'); const listeners = { 'console': function(consoleObj) { console.log(consoleObj.text()); }, 'dialog': function(dialog) { console.log(dialog.message()); } }; (async () => { const browser = await puppeteer.launch({headless: false}); const page = await browser.newPage(); for (var l in listeners) { page.on(l, obj => { listeners[l](obj) }); } var el = await page.evaluate(_ => { console.log('page console operational!') }); })();Por alguna razón, la función page.on() no aceptará tipos de oyentes de entrada dinámica. Mientras que si ingreso el tipo de oyente manualmente, funciona (obviamente, esto no es útil porque solo sobrescribirá continuamente el oyente de la 'consola') -
for (var l in listeners) { page.on('console', obj => { listeners[l](obj) }); }¿Cómo puedo crear dinámicamente detectores de eventos con Puppeteer?