phantomjs使用笔记

前端之家收集整理的这篇文章主要介绍了phantomjs使用笔记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

phantomjs简介

phantomjs是一个测试工具,也可以用来写爬虫。可以当作是一个浏览器来使用,只是这个浏览器没有界面,被称为无头浏览器(handless)。

安装

1.官网下载

http://phantomjs.org/

将压缩包解压到D盘phantomjs文件夹下,打开bin目录下的phantom.exe,即可开始使用phantomjs。
最好是把phantomjs添加到系统变量Path中:'D:phantomjs',然后就可以在cmd中直接使用
2.通过npm安装(全局)

npm install phantomjs -g    

不建议使用此方法,因为install的phantomjs与node的child-process(子进程模块)支持得不好.安装好了之后不用配置环境变量(前提是你的node配置了NODE_PATH)。

简单的使用

用法有两种,一种命令行,一种打开.exe。
1.打开.exe。
直接打开,会弹出一个cmd,如下:

phantomjs>

然后输入 1+1 回车

phantomjs> 1+1
2
phantomjs>

输入--version

phantomjs> --version
Can't find variable: version

phantomjs://repl-input:1 in global code

表示看版本这种貌似只能用cmd打开。
假设有那么一个js文件

console.log('phantomjs is so good');

将此文件拖拽到.exe上面,即可打开:

phantomjs is so good

2.命令行打开:
配置好了环境变量就可以使用cmd了。
在cmd输入phantomjs --version

C:\Users\59227\Desktop>phantomjs --version
2.1.1

打开一个js文件phantomjs pt.js

C:\Users\59227\Desktop>phantomjs pt.js
phantomjs is so good

phantomjs的大概结构

phantom对象
web page模块
Child Process模块
System模块
file system模块

其中最核心的就是web page模块。
phantom对象关键的API:
phantom.exit()【退出程序,接收一个code参数,可以是任意的整数,比如-1,0,1.但好像传什么整数效果都一样】
phantom.cookie()【获取或设置cookie,建议不要用这个api去设置,还有其他API】

> phantom.addCookie(Object) Boolean:添加cookie值
> phantom.deleteCookie(cookieName) Boolean:删除指定Cookie值
> phantom.clearCookies() :清空所有的cookie
> phantom.cookiesEnabled Boolean:获取或设置是否支持cookie

phantom.injectJs()【把指定的外部JS文件注入到当前环境】
phantom.onError() 【当页面存在js错误,且没有被 page.onError 处理,则会被此handler捕获】
phantom.args()【获取传递给本JS程序的参数,比如:phantomjs pt.js http://baidu.com 就是传递给本程序的参数】

web page模块:
要使用这个模块需要在你的js中导入:

web page模块的API太多了,官方文档:
中文文档:

web page模块的用途就是用来打开一个网页,可以对你要打开的网页进行定制,比如大小,cookie,以及请求的header。还可以对打开的页面进行操作,比如操作dom,插入脚本,截取整个页面保存为图片

猜你在找的程序笔记相关文章