PhantomJS 方法
PhantomJS是一个可以在无需浏览器的情况下执行JavaScript的平台。为了实现这一点,使用了以下方法,用于添加Cookie、删除Cookie、清除Cookie、退出脚本、注入JS等。
我们将在本章节中详细讨论这些PhantomJS方法及其语法。类似的方法,如 addcookie 、 injectjs 存在于webpage模块中,将在后续章节中讨论。
PhantomJS公开了以下方法,可以帮助我们在无浏览器的情况下执行JavaScript:
- addCookie
- clearCookie
- deleteCookie
- Exit
- InjectJS
现在让我们通过示例详细了解这些方法。
addCookie
addCookie方法用于添加Cookie并存储在数据中。它类似于浏览器如何存储Cookie。它接受一个参数,该参数是一个具有所有Cookie属性的对象,语法如下所示:
语法
它的语法如下:
name、value和domain是要添加到addcookie函数的必需属性。如果cookie对象中缺少其中任何一个属性,该方法将失败。
- name - 指定 cookie 的名称。
-
value - 指定要使用的 cookie 的值。
-
domain - 应用该 cookie 的域。
示例
以下是 addcookie 方法的示例。
示例
a.html
上面的程序生成如下 输出 .
代码注释是自解释的。
clearCookies
该方法允许删除所有的cookie。
语法
其语法如下所示−
这个概念的工作方式类似于在浏览器菜单中选择删除浏览器cookies。
示例
下面是一个 clearCookies 方法的示例。
a.html
上述程序生成以下 输出 。
deleteCookie
删除CookieJar中’name’属性与cookieName匹配的任何Cookie。如果删除成功,返回true;否则返回false。
语法
语法如下所示−
让我们通过一个示例来理解 addcookie,clearcookies 和 deletecookie 。
示例
这里有一个示例来演示deleteCookie方法的使用:
文件:cookie.js
以上程序生成以下 输出 。
exit
phantom.exit方法将退出它所启动的脚本。它使用指定的返回值退出程序。如果没有传递值,它将返回 ‘0’ 。
语法
它的语法如下:
如果你没有添加 phantom.exit , 那么命令行会认为执行还在进行中,不会完成。
示例
我们来看一个示例,以了解使用 exit 方法。
上述程序生成以下 输出 。
phantomjs exit.js
任何在phantom.exit之后的代码都不会被执行,因为phantom.exit是一个结束脚本的方法。
injectJs
injectJs用于在phantom中添加 附加js 文件。如果在当前 目录librarypath 中找不到该文件,则会使用phantom属性(phantom.libraryPath)作为额外的路径追踪位置。如果文件添加成功,则返回 true ,否则返回 false ,表示无法定位该文件。
语法
其语法如下:
示例
让我们来看一个示例,以了解如何使用 injectJs 。
文件名:inject.js
文件名:addfile.js
输出
命令 − C:\phantomjs\bin>phantomjs addfile.js
在上面的示例中, addfile.js 通过injectJs调用文件 inject.js 。当你执行addfile.js时,inject.js中的console.log会显示在输出中。它还会显示addfile变量为true,因为inject.js文件成功添加。