PhantomJS - Object

在本章中,我们将介绍 PhantomJS 的四个重要对象。它们如下所示 −

  • CookiesEnabled
  • Cookies
  • LibraryPath
  • Version

现在让我们详细讨论一下这些对象。

cookiesEnabled

它指示是否启用了 cookie。如果启用,它将返回 true;否则返回 false

语法

其语法如下 −

phantom.cookiesEnabled

示例

cookieenabled.js

phantom.addCookie ({  
   //使用 addcookie 属性添加 cookie
   name: 'c1', 
   value: '1', 
   domain: 'localhost' 
}); 

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

输出

命令 − phantomjs cookieenabled.js

Cookie Enabled value is : true 

Cookies

它有助于向域添加和设置 cookie。它返回一个对象,其中包含该域可用的所有 cookie。

语法

其语法如下 −

phantom.cookies;

示例

文件名: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();

输出

命令 − 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"}]

在上面的例子中,我们向 localhost 域添加了一些 cookie。然后我们使用 phantom.cookies 获取它。它使用 JSON stringify 方法将 JavaScript 对象转换为字符串,返回一个包含所有 cookie 的对象。您还可以使用 foreach 访问 cookie 的名称/值。

LibraryPath

PhantomJS libraryPath 存储 injectJS 方法要使用的脚本路径。

语法

其语法如下 −

phantom.libraryPath

示例

以下是查找版本的示例。

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 是从我们的 do.js 文件加载的一个函数 - 见下文
            return returnTitle(); 
         });
         
         console.log(title); 
         phantom.exit(); 
      } 
   } 
});

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

上述程序生成以下输出

Jquery Tutorial

Version

它给出正在运行的 PhantomJS 的版本,并在对象中返回详细信息。例如:{"major":2,"minor":1,"patch":1

语法

其语法如下 −

phantom.version

示例

以下是查找版本的示例。

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

上述程序生成以下输出

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

在上面的例子中,我们使用了 console.log 来打印版本。目前,我们正在运行版本 2。它返回包含上述代码块中显示的详细信息的对象。