Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var casper = require('casper').create();
- casper.options.viewportSize = {width: 1366, height: 768};
- casper.userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36');
- var utils = require('utils');
- var f = utils.format;
- var fs = require('fs');
- //var helpers = require('helpers');
- /********************
- *** CONFIGURACION ***
- /*******************/
- var direccionBase = 'https://app.skeddly.com';
- var direccionActivity = direccionBase + '/Activity/';
- var direccionAPI = direccionActivity + 'GetLogJson/';
- var server = casper.cli.get('server');
- var path = casper.cli.get('path');
- var user = casper.cli.get('user');
- var pass = casper.cli.get('pass');
- var contenidoLog = "";
- var marker = "";
- casper.start(direccionBase, function () {
- console.log("\n--- START CASPER ---\n");
- console.log(this.getTitle() + " (" +this.getCurrentUrl() + ") \n");
- casper.waitForSelector("form", function () {
- this.fillSelectors('form', {
- 'input[name = "UserName"]': user,
- 'input[name = "Password"]': pass
- }, true);
- });
- this.wait(1000, function () {
- casper.start(direccionActivity, function () {
- this.wait(1000, function () {
- var listServidores = [];
- var listLinks = [];
- var rutaLog = '';
- //*** NOMBRE SERVIDORES ***
- var servidores = this.evaluate(function() {
- var elements = __utils__.findAll('#DataTables_Table_0 tbody a');
- return elements.map(function(e) {
- var name = e.text;
- name = name.replace("****", "");
- name = name.replace(">>>", "");
- name = name.replace("Show", "");
- name = name.replace("Download", "");
- name = name.replace("-", "_");
- name = name.replace("-", "_");
- name = name.replace("-", "_");
- name = name.replace("-", "_");
- return name;
- });
- });
- servidores.forEach(function(element, index) {
- listServidores.push(element);
- });
- //*** ID LOGS ***
- var links = this.evaluate(function() {
- var elements = __utils__.findAll('#DataTables_Table_0 tbody a');
- return elements.map(function(e) {
- return e.getAttribute('href');
- });
- });
- //
- links.forEach(function(element, index) {
- listLinks.push(element);
- });
- //*** LOG ***
- for(var i = 0; i < listServidores.length; i++){
- if(listServidores[i] == server){
- rutaLog = direccionAPI + listLinks[i + 1].replace("/Activity/Log/", "");
- break;
- }
- }
- var request = new XMLHttpRequest();
- var contenidoLogMarker = "";
- casper.start(rutaLog, function () {
- var contenido = casper.getPageContent();
- var json = JSON.parse(contenido);
- var rutaLogMarker = rutaLog + "?marker=";
- json.Levels.forEach(function(element, index) {
- if(element.Level == "I"){
- setLog(element.Lines.toString());
- }
- });
- setMarker(json.Marker);
- if(marker !== undefined){
- casper.start(rutaLogMarker + marker, function () {
- var contenidoMarker_1 = casper.getPageContent();
- var jsonMarker_1 = JSON.parse(contenidoMarker_1);
- jsonMarker_1.Levels.forEach(function(element, index) {
- if(element.Level == "I"){
- setLog(element.Lines.toString());
- }
- });
- setMarker(jsonMarker_1.Marker);
- if(marker !== undefined){
- casper.start(rutaLogMarker + marker, function () {
- var contenidoMarker_2 = casper.getPageContent();
- var jsonMarker_2 = JSON.parse(contenidoMarker_2);
- jsonMarker_2.Levels.forEach(function(element, index) {
- if(element.Level == "I"){
- setLog(element.Lines.toString());
- }
- });
- setMarker(jsonMarker_2.Marker);
- if(marker !== undefined){
- casper.start(rutaLogMarker + marker, function () {
- var contenidoMarker_3 = casper.getPageContent();
- var jsonMarker_3 = JSON.parse(contenidoMarker_3);
- jsonMarker_3.Levels.forEach(function(element, index) {
- if(element.Level == "I"){
- setLog(element.Lines.toString());
- }
- });
- });
- }
- });
- }
- });
- }
- });
- });
- });
- });
- });
- casper.run(function () {
- fs.write(path, contenidoLog, 'w');
- console.log('\n--- END CASPER ---\n');
- this.exit();
- });
- function setMarker(data){
- marker = data;
- return marker;
- }
- function setLog(log){
- contenidoLog = contenidoLog + "\n" + log;
- return contenidoLog;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement