怎么解压phantomjs linux 字体-2.1.1-linux-x86

PhantomJS快速入门教程 - 推酷
PhantomJS快速入门教程
是一个基于 WebKit 的服务器端
API。它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。 PhantomJS 可以用于
安装包下载地址:
,Mac OS,Linux版本,自行选择对应 版本下载解压即可( 为方便使用,可自已为phantomjs设置环境变量 ),其中带有一个example文件夹,里面有很多已经写好的代码供使用。本文假设phantomjs已经安装好并已设置了环境变量。
Hello, World!
新建一个包含下面两行脚本的文本文件:
console.log('Hello, world!');
phantom.exit();
将文件另存为 hello.js ,然后执行它:
phantomjs hello.js
输出结果为:Hello, world!
第一行将会在终端打印出字符串,第二行 phantom.exit 将退出运行。
在该脚本中调用 phantom.exit 是非常重要的,否则 PhantomJS 将根本不会停止。
脚本参数 – Script Arguments
Phantomjs如何传递参数呢?如下所示 :
phantomjs examples/arguments.js foo bar baz
其中的foo, bar, baz就是要传递的参数,如何获取呢:
var system = require('system');
if (system.args.length === 1) {
console.log('Try to pass some args when invoking this script!');
system.args.forEach(function (arg, i) {
console.log(i + ': ' + arg);
phantom.exit();
它将输出 :
页面加载 – Page Loading
通过创建一个网页对象,一个网页可以被加载,分析和渲染。
下面的脚本将示例页面对象最简单的用法,它加载
并且将它保存为一张图片, example.png 。
var page = require('webpage').create();
page.open('', function () {
page.render('example.png');
phantom.exit();
由于它的这个特性,PhantomJS 可以用来
,截取一些内容的快照,比如将网页、SVG存成图片,PDF等,这个功能很牛X。
接下来的 loadspeed.js 脚本加载一个特殊的URL (不要忘了http协议) 并且计量加载该页面的时间。
var page = require('webpage').create(),
system = require('system'),
if (system.args.length === 1) {
console.log('Usage: loadspeed.js &some URL&');
phantom.exit();
t = Date.now();
address = system.args[1];
page.open(address, function (status) {
if (status !== 'success') {
console.log('FAIL to load the address');
t = Date.now() -
console.log(' time ' + t + ' msec');
phantom.exit();
在命令行运行该脚本:
phantomjs loadspeed.js
它输出像下面的东西:
&Loading time 719 msec
代码运算 – Code Evaluation
要想在网页的上下文中对JavaScript 或 CoffeeScript 进行运算,使用 evaluate() 方法。代码是在“沙箱”中运行的,它没有办法读取在其所属页面上下文之外的任何JavaScript对象和变量。 evaluate() 会返回一个对象,然而它仅限制于简单的对象并且不能包含方法或闭包。
这有一个示例来显示网页标题:
var page = require('webpage').create();
page.open(url, function (status) {
var title = page.evaluate(function () {
return document.
console.log('Page title is ' + title);
任何来自于网页并且包括来自 evaluate() 内部代码的控制台信息,默认不会显示的。要重写这个行为,使用 onConsoleMessage 回调函数,前一个示例可以被改写成:
var page = require('webpage').create();
page.onConsoleMessage = function (msg) {
console.log('Page title is ' + msg);
page.open(url, function (status) {
page.evaluate(function () {
console.log(document.title);
DOM操作 – DOM Manipulation
由于脚本好像是一个Web浏览器上运行的一样,标准的DOM脚本和CSS选择器可以很好的工作。这使得PhantomJS适合支持各种
下面的& useragent.js &将读取 id &为myagent的元素的& textContent &属性:
var page = require('webpage').create();
console.log('The default user agent is ' + page.settings.userAgent);
page.settings.userAgent = 'SpecialAgent';
page.open('http://www.httpuseragent.org', function (status) {
if (status !== 'success') {
console.log('Unable to access network');
var ua = page.evaluate(function () {
return document.getElementById('myagent').textC
console.log(ua);
phantom.exit();
上面示例同样提供了一种自定义 user agent 的方法。
使用JQuery及其他类库:
var page = require('webpage').create();
page.open('', function() {
page.includeJs(&/ajax/libs/jquery/1.6.1/jquery.min.js&, function() {
page.evaluate(function() {
$(&button&).click();
phantom.exit()
网络请求及响应 – Network Requests and Responses
将一个页面从一台远程服务器请求一个资源的时候,请求和响应均可以通过 onResourceRequested &和& onResourceReceived &回调方法追踪到。示例&
var page = require('webpage').create();
page.onResourceRequested = function (request) {
console.log('Request ' + JSON.stringify(request, undefined, 4));
page.onResourceReceived = function (response) {
console.log('Receive ' + JSON.stringify(response, undefined, 4));
page.open(url);
获取如何把该特性用于HAR 输出以及基于YSlow的性能分析的更多信息,请参阅
PhantomJs官网:
Like一下吧
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致Linux服务器安装PhantomJS使用方法-linux-操作系统-壹聚教程网Linux服务器安装PhantomJS使用方法
PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准,下面我们来看一篇关于Linux服务器安装PhantomJS使用方法,希望文章能够帮助到各位。
PhantomJS(http://phantomjs.org/)是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG等,可方便的应用于各种自动化的测试、屏幕捕获、网络监控等环境。
Windows版的PhantomJS安装比较简单,下面就说一个Linux版本的PhantomJS的安装及简单用法。
Linux版本安装有两种方法,一是下载对应系统的编译好的可执行文件使用,但可能会出现不能用的情况,这时就需要使用第二种,源码编译安装。
一、直接下载编译好的文件
直接到Bitbucket下载对应的压缩包(链接:htt://bitbucket.org/ariya/phantomjs/downloads),例如我的是CentOS6.5 64位系统,下载的是phantomjs-1.9.8-linux-x86_64.tar.bz2,下载完成后解压,在 bin 目录内有编译好的 phantomjs 文件,直接用FTP等工具上传到服务器。
使用SSH登入服务器,给phantomjs加上执行权限chmod +x phantomjs,运行./phantomjs -h看能否显示帮助文档,报错的话可能就需要使用源码编译来安装了。
二、源码编译
首先去官网下载最新稳定版本的源码(链接:http://phantomjs.org/download.html),找到Linux下的Source Code下载,目前最新版本是2.0 直接下载
以下操作以CentOS为例,其它发行版大同小异
cd /usr/local/src
# 下载源码
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.0.0-source.zip
# 解压源码,没有unzip命令的请使用yum install unzip 安装
unzip phantomjs-2.0.0-source.zip
# 安装编译环境
yum -y install gcc gcc-c++ make flex bison gperf ruby \
& openssl-devel freetype-devel fontconfig-devel libicu-devel sqlite-devel \
& libpng-devel libjpeg-devel
# 开始编译
cd phantomjs-2.0.0
./build.sh
编译操作耗时会比较长(可以大于半个小时),耐心等待完成。编译完成后会多出一个 bin 目录,里面有编译完成的 phantomjs 文件。
如果是下载的源码,里面会有个example文件夹,我们使用其中的rasterize.js创建一个网站截图。没有这个文件的可以复制下载的代码并保存为rasterize.js。
var page = require('webpage').create(),
&&& system = require('system'),
&&& address, output,
if (system.args.length & 3 || system.args.length & 5) {
&&& console.log('Usage: rasterize.js URL filename [paperwidth*paperheight|paperformat] [zoom]');
&&& console.log('& paper (pdf output) examples: &5in*7.5in&, &10cm*20cm&, &A4&, &Letter&');
&&& console.log('& image (png/jpg output) examples: &1920px& entire page, window width 1920px');
&&& console.log('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &800px*600px& window, clipped to 800x600');
&&& phantom.exit(1);
&&& address = system.args[1];
&&& output = system.args[2];
&&& page.viewportSize = { width: 600, height: 600 };
&&& if (system.args.length & 3 && system.args[2].(-4) === &.pdf&) {
&&&&&&& size = system.args[3].split('*');
&&&&&&& page.paperSize = size.length === 2 ? { width: size[0], height: size[1], margin: '0px' }
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& : { format: system.args[3], orientation: 'portrait', margin: '1cm' };
&&& } else if (system.args.length & 3 && system.args[3].substr(-2) === &px&) {
&&&&&&& size = system.args[3].split('*');
&&&&&&& if (size.length === 2) {
&&&&&&&&&&& pageWidth = parseInt(size[0], 10);
&&&&&&&&&&& pageHeight = parseInt(size[1], 10);
&&&&&&&&&&& page.viewportSize = { width: pageWidth, height: pageHeight };
&&&&&&&&&&& page.clipRect = { top: 0, left: 0, width: pageWidth, height: pageHeight };
&&&&&&& } else {
&&&&&&&&&&& console.log(&size:&, system.args[3]);
&&&&&&&&&&& pageWidth = parseInt(system.args[3], 10);
&&&&&&&&&&& pageHeight = parseInt(pageWidth * 3/4, 10); // it's as good an assumption as any
&&&&&&&&&&& console.log (&pageHeight:&,pageHeight);
&&&&&&&&&&& page.viewportSize = { width: pageWidth, height: pageHeight };
&&& if (system.args.length & 4) {
&&&&&&& page.zoomFactor = system.args[4];
&&& page.open(address, function (status) {
&&&&&&& if (status !== 'success') {
&&&&&&&&&&& console.log('Unable to load the address!');
&&&&&&&&&&& phantom.exit(1);
&&&&&&& } else {
&&&&&&&&&&& window.setTimeout(function () {
&&&&&&&&&&&&&&& page.render(output);
&&&&&&&&&&&&&&& phantom.exit();
&&&&&&&&&&& }, 200);
使用以下命令创建网站截图(注意其中的文件路径,请自行修改为你的phantomjs和rasterize.js的路径
./phantomjs ../example/rasterize.js
./icewingcc.png
PhantomJS还可以用于网络监控、自动化等功能,而且JS文件的内容还可以根据需要自行修改。具体的使用方法请参考官方网站的介绍,以及example文件夹内示例的说明。
上一页: &&&&&下一页:相关内容phantomjs安装使用 - 推酷
phantomjs安装使用
phantomjs安装
phantomjs 是一款基于webkit的无界面浏览器,提供多种js api;可以方便的进行扩展:
yum --skip-broken install fontconfig freetype libfreetype.so.6 libfontconfig.so.1
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2
tar jxvf phantomjs-1.9.7-linux-x86_64.tar.bz2
mv phantomjs-1.9.7-linux-x86_64 phantomjs
cd phantomjs
测试网页加载渲染速度:
./bin/phantomjs examples/loadspeed.js
抓取网页下载过程请求,类似于httpfox:
./bin/phantomjs examples/netsniff.js
网页截图:
var page = require('webpage').create();
page.open('', function() {
page.render('example.png');
phantom.exit();
保存为t.js,执行
./bin/phantomjs /root/t.js
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致Download | PhantomJS
SHA-256 Checksums
80e03cfeb22cc4dfe4e73b68ab81c9fdd7c78968cfde3
phantomjs-2.1.1-linux-i686.tar.bz2
86dd9a4bf4aee45f1a84c9f61cfdce9b9e8d2a52460d2f
phantomjs-2.1.1-linux-x86_64.tar.bz2
538cfe309eafc629e2bceeb1ec334fc1
phantomjs-2.1.1-macosx.zip
d9fbdeab3adafd1f6350433dfdf42c7dcc8
phantomjs-2.1.1-windows.zip
Acknowledgement
Download service is kindly provided by . Previous releases download was provided by .
Please take a moment to
with anything that could be useful to other developers, we'd love to see it.
Community:}

我要回帖

更多关于 phantomjs linux java 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信