PhantomJS - 对象



在本章中,我们将了解 PhantomJS 的四个重要对象。它们如下:

  • CookiesEnabled
  • Cookies
  • LibraryPath
  • Version

现在让我们详细讨论每一个。

cookiesEnabled

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

语法

其语法如下:

phantom.cookiesEnabled

示例

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();

输出

命令 - 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('https://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;
}; 

以上程序生成以下输出

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

广告