PhantomJS快速入门教程(服务器端的JavaScriptAPI的WebKit)_javascript技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PhantomJS快速入门教程(服务器端的JavaScriptAPI的WebKit)_javascript技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4781字,纯文字阅读大概需要7分钟。
内容图文
![PhantomJS快速入门教程(服务器端的JavaScriptAPI的WebKit)_javascript技巧](/upload/InfoBanner/zyjiaocheng/327/18268d1976b140f49268a7122b82f7e0.jpg)
PhantomJs官网:http://phantomjs.org/
GitHub:https://github.com/ariya/phantomjs/wiki/Quick-Start
一、安装
安装包下载地址:http://phantomjs.org/download.html ,包括 Windows ,Mac OS,Linux版本,自行选择对应 版本下载解压即可( 为方便使用,可自已为phantomjs设置环境变量 ),其中带有一个example文件夹,里面有很多已经写好的代码供使用。本文假设phantomjs已经安装好并已设置了环境变量。
二、使用
Hello, World!
新建一个包含下面两行脚本的文本文件:
将文件另存为 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就是要传递的参数,如何获取呢:
它将输出 :
0: foo
1: bar
2: baz
页面加载 – Page Loading
通过创建一个网页对象,一个网页可以被加载,分析和渲染。
下面的脚本将示例页面对象最简单的用法,它加载 example.com 并且将它保存为一张图片, example.png 。
由于它的这个特性,PhantomJS 可以用来 网页截屏 ,截取一些内容的快照,比如将网页、SVG存成图片,PDF等,这个功能很牛X。
接下来的 loadspeed.js 脚本加载一个特殊的URL (不要忘了http协议) 并且计量加载该页面的时间。
在命令行运行该脚本:
phantomjs loadspeed.js http://www.google.com
它输出像下面的东西:
Loading http://www.google.com Loading time 719 msec
代码运算 – Code Evaluation
要想在网页的上下文中对JavaScript 或 CoffeeScript 进行运算,使用 evaluate() 方法。代码是在“沙箱”中运行的,它没有办法读取在其所属页面上下文之外的任何JavaScript对象和变量。 evaluate() 会返回一个对象,然而它仅限制于简单的对象并且不能包含方法或闭包。
这有一个示例来显示网页标题:
任何来自于网页并且包括来自 evaluate() 内部代码的控制台信息,默认不会显示的。要重写这个行为,使用 onConsoleMessage 回调函数,前一个示例可以被改写成:
DOM操作 – DOM Manipulation
由于脚本好像是一个Web浏览器上运行的一样,标准的DOM脚本和CSS选择器可以很好的工作。这使得PhantomJS适合支持各种 页面自动化任务 。
下面的 useragent.js 将读取 id 为myagent的元素的 textContent 属性:
上面示例同样提供了一种自定义 user agent 的方法。
使用JQuery及其他类库:
网络请求及响应 – Network Requests and Responses
将一个页面从一台远程服务器请求一个资源的时候,请求和响应均可以通过 onResourceRequested 和 onResourceReceived 回调方法追踪到。示例 netlog.js :
获取如何把该特性用于HAR 输出以及基于YSlow的性能分析的更多信息,请参阅 网络监控页面 。
内容总结
以上是互联网集市为您收集整理的PhantomJS快速入门教程(服务器端的JavaScriptAPI的WebKit)_javascript技巧全部内容,希望文章能够帮你解决PhantomJS快速入门教程(服务器端的JavaScriptAPI的WebKit)_javascript技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。