Bot con Casperjs y Slimmerjs

Instalamos Slimmerjs y Casperjs

Utilizamos el siguiente comando para instalar las librerias globalmente con npm

$ npm install -g slimmerjs casperjs phamtonjs

Slimmerjs utiliza (en este momento) Gecko, que es usado por mozilla en sus navegadores, actualmente la versión soportada por slimmerjs es firefox 59. Descargaremos la última versión de firefox soportada por slimmerjs del repositorio ubicado en el siguiente enlace.

A continuación creamos la variable de entorno que usará slimmerjs para ubicar nuestra versión de firefox.

$ export PATH=$PATH:~/ubicacion/de/firefox

Casperjs con slimmerjs

Por defecto casperjs funciona con phantomjs, pero al ser phantomjs una libreria descontinuada (en este momento), usaremos slimmerjs. Para usar Casperjs con Slimmerjs debemos especificar a casperjs que queremos utilizar slimmerjs de la siguiente manera.

$ casperjs --engine=slimerjs

Utilizaremos el siguiente código, el cual entra a una página y toma un screenshot.

caspScreenShot.js

casper = require('casper').create({
   viewportSize: { width: 2340, height: 1620 }
});
casper.start('http://localhost:3000/reporte/150101');
casper.then(function () {
       this.echo('Titulo: ' + this.getTitle());
}).then(function () {
       casper.wait(15000, function () {
       casper.evaluate(function(){
                       //delete div 'content-meta'
                       document.getElementById("rpt-controls").outerHTML = "";
               });
               casper.then(function(){
                       casper.capture('casper-screen.png');
                   casper.echo("Screenshot taken")
               })
       })
})
casper.run();

Luego lo ejecutamos con casperjs y slimmerjs, especificando que queremos ver las salidas en ejecución y queremos ejecutarlo en modo headless.

$ casperjs --engine=slimerjs --debug=true --headless caspScreenShoot.js

Finalmente en nuestra carpeta exitirá un archivo llamado casper-screen.png.

© 2022 Jorge Luis Parihuamán Arivilca