文档章节

phantomjs基于WebKit的服务器端JavaScript API

h
 hongyiF
发布于 2017/03/31 10:46
字数 358
阅读 74
收藏 0

原网页 http://www.web-jia.com/view.php?a=7

这工具挺简单的window的只要下载了就能使用了
先来个hello.js
console.log('Hello, world!');
phantom.exit();

在命令行运行 phantomjs hello.js
输出 Hello, world!

这东西到底有什么用一个他可以截图
var page = require('webpage').create();
page.open('http://www.web-jia.com', function () {
page.render('web-jia.png');
phantom.exit();
});

就这样简单的几行代码能截图了

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("http://www.web-jia.com", function(status){
if (status !== 'success') {
console.log('Unable to access network');
} else {
console.log("-------------------------------------------------");
//下面这函数能取到页面的a标签然后自动点击
page.evaluate(function() {
var la = document.getElementsByTagName('a');
var aobj = la[parseInt(Math.random()*la.length)];
aobj.click();
});
}
});

这是我测试的时候用的一段简单代码

用这工具来做个爬虫那真是跟玩家看网页一样了

page.settings.userAgent = 'SpecialAgent';
你也可以使用这么一句设置你的爬虫名字

 

CSS深入研究:display的恐怖故事解密(1)
PHP中操作MySQL的需注意的问题
PHP正则表达式中的特殊字符
浅谈JavaScript编程语言的编码规范
PHP中的常量
高效整洁CSS代码原则
雕虫无小技 JavaScript初学者的10个迷你技巧(1)
HTML 5怎么就成了RIA“杀手”?
详谈PHP数组变量使用
Google推出JavaScript测试工具Google JS Test

本文转载自:

h

hongyiF

粉丝 0
博文 22
码字总数 22
作品 0
私信 提问
PhantomJS 2.5.0 Beta 发布,WebKit 的服务端 API

PhantomJS 2.5.0 Beta 发布了。 该版本主要更新内容如下: bug修复 新的命令行选项(禁用本地存储) 升级Qt到5.7.1 绝对震撼的QtWebKit! 有完整的ES2015支持,JavaScript引擎的改进和更多!...

两味真火
2017/01/10
1K
6
Web 自动化测试与智能爬虫利器:PhantomJS 简介与实战

估计部分同学没听过这个工具,那先简单介绍下它的背景与作用。 1、PhantomJS 是什么? PhantomJS是一个基于WebKit的服务器端JavaScript API,它无需浏览器的支持即可实现对Web的支持,且原生...

大数据之路
2015/04/28
27.6K
2
CasperJS 的安装和快速入门

CasperJS 是一个开源的导航脚本和测试工具,使用 JavaScript 基于 PhantomJS 编写,用于测试 Web 应用功能,Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DO...

红薯
2012/05/30
11.1K
4
PhantomJS+Echarts生成图片(POI第三方集成工具,HttpClient.post)

网友结论:PhantomJS技术方案老旧,推荐使用Puppeteer, 最差也用 casperjs PhantomJS+Echarts生成图片(https://gitee.com/liuzidong/PhantomJSForEcharts) 参考资料 1. ECharts - Java类库(...

近在咫尺远在天涯
09/02
69
0
基于 PhantomJS + Node + Express + VueJS 1.x 的服务端渲染实践

项目地址:github.com/jrainlau/vu… 随着Vue 2.0的发布,服务端渲染一度成为了它的热卖点。在此之前,单页应用的首屏加载时长和SEO的问题,一直困扰着开发者们,也在一定程度上制约着前端框...

Jrain
2018/12/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PostgreSQL 11.3 locking

rudi
今天
5
0
Mybatis Plus sql注入器

一、继承AbstractMethod /** * @author beth * @data 2019-10-23 20:39 */public class DeleteAllMethod extends AbstractMethod { @Override public MappedStatement injectMap......

一个yuanbeth
今天
10
1
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
今天
4
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
今天
8
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
今天
81
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部