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。它返回包含上述代码块中显示的详细信息的对象。