PhantomJS - Objeto

En este capítulo, veremos los cuatro objetos importantes PhantomJS. Son los siguientes:

  • CookiesEnabled
  • Cookies
  • LibraryPath
  • Version

Analicemos ahora cada uno de estos en detalle.

cookiesEnabled

Indica si las cookies están habilitadas o no. Volverátrue, en caso afirmativo; de otra manerafalse.

Sintaxis

Su sintaxis es la siguiente:

phantom.cookiesEnabled

Ejemplo

cookieenabled.js

phantom.addCookie ({  
   //adding cookie with addcookie property 
   name: 'c1', 
   value: '1', 
   domain: 'localhost' 
}); 

console.log("Cookie Enabled value is : "+phantom.cookiesEnabled); 
phantom.exit();

Salida

Command - phantomjs cookieenabled.js

Cookie Enabled value is : true

Galletas

Ayuda a agregar y configurar cookies a un dominio. Devuelve un objeto con todas las cookies disponibles para el dominio.

Sintaxis

Su sintaxis es la siguiente:

phantom.cookies;

Ejemplo

Filename: phantomcookie.js

phantom.addCookie ({ 
   name: 'c1', 
   value: '1', 
   domain: 'localhost' 
}); 
phantom.addCookie ({ 
   name: 'c2', 
   value: '2', 
   domain: 'localhost' 
}); 
phantom.addCookie ({ 
   name: 'c3', 
   value: '3', 
   domain: 'localhost' 
}); 
console.log(JSON.stringify(phantom.cookies)); 
phantom.exit();

Salida

Command - phantomjs phantomcookie.js

[{"domain":".localhost","httponly":false,"name":"c3","path":"/","secure":false, " 
value":"3"},{"domain":".localhost","httponly":false,"name":"c2","path":"/","sec u 
re":false,"value":"2"},{"domain":".localhost","httponly":false,"name":"c1","pat h
":"/","secure":false,"value":"1"}]

En el ejemplo anterior, agregamos algunas cookies al dominio localhost. Luego lo recuperamos usandophantom.cookies. Devuelve un objeto con todas las cookies utilizando elJSON stringifymétodo para convertir el objeto JavaScript en una cadena. También puedes usarforeach para acceder al nombre / valores de las cookies.

LibraryPath

LibraryPath PhantomJS almacena la ruta del script que utilizará el injectJS método.

Sintaxis

Su sintaxis es la siguiente:

phantom.libraryPath

Ejemplo

Aquí hay un ejemplo para averiguar la versión.

var webPage = require('webpage');
var page = webPage.create();

page.open('http://www.tutorialspoint.com/jquery', function(status) {
   if (status === "success") { 
      page.includeJs('http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js ', function() { 
         if (page.injectJs('do.js')) { 
            // returnTitle is a function loaded from our do.js file - see below 
            return returnTitle(); 
         });
         
         console.log(title); 
         phantom.exit(); 
      } 
   } 
});

window.returnTitle = function() { 
   return document.title;
};

El programa anterior genera lo siguiente output.

Jquery Tutorial

Versión

Proporciona la versión de PhantomJS que se está ejecutando y devuelve los detalles en un objeto. Por ejemplo: {"major": 2, "minor": 1, "patch": 1}

Sintaxis

Su sintaxis es la siguiente:

phantom.version

Ejemplo

Aquí hay un ejemplo para averiguar la versión.

var a = phantom.version;
console.log(JSON.stringify(a));
console.log(a.major);
console.log(a.minor);
console.log(a.patch);
phantom.exit();

El programa anterior genera lo siguiente output.

{"major":2,"minor":1,"patch":1} 
2 
1 
1

En el ejemplo anterior, hemos utilizado console.logpara imprimir la versión. Actualmente, estamos ejecutando la versión 2. Devuelve el objeto con los detalles que se muestran en el bloque de código anterior.