在本章中,我们将讨论有关PhantomJS的各种系统模块属性.
PhantomJS的系统模块具有不同的属性,它有助于传递参数,了解执行的文件等.
args属性基本上返回在命令行传递的参数.您还可以传递要阅读的页面URL.如果要存储屏幕捕获pdf文件或上载文件,可以将详细信息传递到命令行,并使用 args 属性进行读取.
让我们找到传递给命令行的每个参数的长度和方式.
其语法如下 :
var system = require('system'); system.args;
请查看以下示例以了解此属性的工作原理.
var system = require('system'); console.log(system.args.length); if (system.args.length>0) { console.log(JSON.stringify(system.args)); } phantom.exit();
上述程序生成以下输出.
命令 : phantomsjs args.js http://localhost/tasks/request.html
2 ["args.js","http://localhost/tasks/request.html"]
第一个值是文件的名称,下一个值是传递的URL.您可以在命令行中传递更多参数,并使用 system.args 获取相同的参数.
env 属性返回系统的详细信息.
其语法如下 :
var system = require('system'); system.env;
var system = require('system'); console.log(JSON.stringify(system.env)); phantom.exit();
上述程序生成以下输出.
{"=::":"::\,"=C:":"C:\\phantomjs\\bin","=ExitCode":"00000000","ALLUSERSPROFILE": "C:\\ProgramData","APPDATA":"C:\\Users\\UserName\\AppData\\Roaming","COMPUTERNAME": "X","ComSpec":"C:\\Windows\\system32\\cmd.exe","CommonProgramFiles": "C:\\Program Files (x86)\\Common Files","CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files","CommonProgramW6432": "C:\\Program Files\\Common Files","FP_NO_HOST_CHECK":"NO","HOMEDRIVE":"C:", "HOMEPATH":"\\Users\\UserName","LOCALAPPDATA": "C:\\Users\\UserName\\AppData\\Local","LOGONSERVER":"\\\\MicrosoftAccount", "NUMBER_OF_PROCESSORS":"2","OS":"Windows_NT","PATHEXT":".COM;.EXE;.BAT;.CMD;.VBS ; .VBE;.JS;.JSE;.WSF;.WSH;.MSC","PROCESSOR_ARCHITECTURE":"x86","PROCESSOR_ARCHITEW64 32": "AMD64","PROCESSOR_IDENTIFIER":"Intel64 Family 6 Model 58Stepping9,GenuineIntel", "PROCESSOR_LEVEL":"6","PROCESSOR_REVISION":"3a09","PROMPT": "$P$G","PSModulePath":"C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\ Modules\ ,"PUBLIC":"C:\\Users\\Public","Path": "C:\\Program Files\\Dell\\DW WLAN Card; c:\\Program Files (x86)\\Intel\\iCLS Client\\;c:\\Program Files\\Intel\\iCLSClient\\; C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\ \Wbem; C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\; C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL; C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT; C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL; C:\\Program Files (x86)\\Intel\\Intel(R) ManagementEngineComponents\\IPT;c:\\ProgramFiles\\WIDCOMM\\BluetoothSoftware\\; c:\\ProgramFiles\\WIDCOMM\\BluetoothSoftware\\syswow64; C:\\ProgramFiles(x86)\\WindowsLive\\Shared;C:\\ProgramFiles\\nodejs\\; C:\\ProgramFiles\\Git\\cmd;C:\\ProgramFiles\\ OpenVPN\\bin; C:\\ProgramFiles(x86)\\Skype\\Phone\\;C:\\Users\\UserName\\AppData\\Roaming \\npm","ProgramData": "C:\\ProgramData","ProgramFiles":"C:\\ProgramFiles(x86)", "ProgramFiles(x86)":"C:\\ProgramFiles(x86)","ProgramW6432": "C:\\ProgramFiles","SESSIONNAME":"Console","SystemDrive": "C:","SystemRoot":"C:\\Windows","TEMP":"C:\\Users\ \Username~1\\AppData\\Local\\Temp", "TMP":"C:\\Users\\Username~1\\AppData\\Local\\Temp", "USERDOMAIN":"USER","USERDOMAIN_ROAMINGPROFILE":"USER","USERNAME":"X Y","USERPROFILE": "C:\\Users\\X Y","windir":"C:\\Windows"}
它返回详细信息使用的操作系统.它返回一个带有体系结构的对象,名称为操作系统和版本.
其语法如下 :
var system = require('system'); system.os;
var system = require('system'); console.log(JSON.stringify(system.os)); phantom.exit();
上述程序生成以下输出.
{"architecture ":"32bit","name":"windows","version":"8.1"}
此属性返回进程ID.
其语法如下 :
var system = require('system'); system.pid;
让我们看一下 pid 属性的示例.
var system = require('system'); console.log(system.pid); phantom.exit();
上述程序生成以下输出.
2160
此属性返回我们正在处理的平台.
其语法如下 :
var system = require('system'); system.platform;
var system = require('system'); console.log(system.platform); phantom.exit();
上述程序生成以下输出.
Phantomjs