而且为提供了拍卖文件I/O的操作。陈铭不明了这是哪里来的。那么是创作竞品分析的相应该系怎样的为。

本文简要介绍了PhantomJS的相干基础知识点,主要概括PhantomJS的介绍、下载和安装、HelloWorld程序、核心模块介绍等。由于下人才疏学浅,难免发生遗漏的处在,欢迎指正交流。

MicrosoftInternetExplorer4
0
2
DocumentNotSpecified
7.8 磅

角竞品分析(Competitive
Analysis)一词太早来经济学领域。市场营销和战略管理方面的竞品分析是因对现有的或者地下的竞争产品之优势与劣势进行评价。现在深受广泛应用于互联网产品的立项筹备阶段,通过竞高效之竞品分析,可以叫产品团队对自身产品之急需把握、对市场态势发生进一步分明的体味,知其知己。

  1、PhantomJS是什么?

Normal

平等份好(有)秀(用)的竞品分析报告,不是说简单地寻找几只类似之成品,罗列几独力量,说几独优缺点就可的,其中高频囊括了多文案撰写逻辑,对比分析方法论,还有无限要紧之凡作者说了同等那个属分析下的题目迎刃而解思路。


0

这就是说正确创作竞品分析的姿势应该系怎样的也?

  PhantomJS是一个冲webkit的JavaScript
API。它用QtWebKit作为其基本浏览器的效力,使用webkit来编译解释施行JavaScript代码。任何你可以当冲webkit浏览器做的工作,它还能够形成。它不仅是只暗藏的浏览器,提供了如CSS选择器、支持Web标准、DOM操作、JSON、HTML5、Canvas、SVG等,同时也提供了拍卖文件I/O的操作,从而使您得望操作系统读写文件等。PhantomJS的用可谓很广,诸如网络监测、网页截屏、无需浏览器的
Web 测试、页面访问自动化等。

@font-face{
font-family:”Times New Roman”;
}

竞品分析三步曲

  PhantomJS官方地址:http://phantomjs.org/。

@font-face{
font-family:”宋体”;
}

分选分析目标:明确竞品分析的关键与得缓解之题目;选择当的竞品(业务相同或连带的出品)

  PhantomJS官方API:http://phantomjs.org/api/。

@font-face{
font-family:”Calibri”;
}

相比和分析:按照若干维度(产品效果、交互设计、运营策略等)对成品与竞品进行逐一罗列对比及剖析优劣

  PhantomJS官方示例:http://phantomjs.org/examples/。

p.MsoNormal{
mso-style-name:正文;
mso-style-parent:””;
margin:0pt;
margin-bottom:.0001pt;
mso-pagination:none;
text-align:justify;
text-justify:inter-ideograph;
font-family:Calibri;
mso-fareast-font-family:宋体;
mso-bidi-font-family:’Times New Roman’;
font-size:10.5000pt;
mso-font-kerning:1.0000pt;
}

议论和提出解决思路:根据第一步之树立的剖析主要及次步相关维度的对比进行归纳讨论分析,进一步可组合当下的行业发展趋势,提出切合逻辑的缓解方案思路。

  PhantomJS GitHub:https://github.com/ariya/phantomjs/。

span.msoIns{
mso-style-type:export-only;
mso-style-name:””;
text-decoration:underline;
text-underline:single;
color:blue;
}

1

  2、PhantomJS下充斥跟安装

span.msoDel{
mso-style-type:export-only;
mso-style-name:””;
text-decoration:line-through;
color:red;
}
@page{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}@page Section0{
margin-top:72.0000pt;
margin-bottom:72.0000pt;
margin-left:90.0000pt;
margin-right:90.0000pt;
size:595.3000pt 841.9000pt;
layout-grid:15.6000pt;
}
div.Section0{page:Section0;}

设定分析目标


“同学,我喜爱你。”

很多新人和童鞋(包括曾经的卤煮)在率先坏写竞品分析的时光,往往都见面过分看重直接去对待分析,而忽略了安筛选竞品,为何做竞品分析,分析的第一是什么,需要缓解什么问题相当细节。

  官方下载地址:http://phantomjs.org/download.html。目前官方支持三种操作系统,包括windows\\Mac
OS\Linux这三可怜主流的环境。你可因你的运行条件选择而下载的管,我的运作条件是Windows7。

苍白的纸条上躺着这么平等句子话,没有说收件人,也不曾落款。

“选择重复为分析”–网易著名设计师刘津

  下充斥完成后解压文件,建议吗方便使用,单独在一个文书夹里,如本人放在D:\workspace\phantomjs里。

陈铭不掌握就是乌来之,怎么会掺杂在好的英语课本里。字迹娟秀,感觉当是女生写得,不像是何人男生的戏。

倘在此处我引申为“选择分析目标”。这里包含两看似对象:

  到此处,你早已成下载安装好PhantomJS了。那么,打开D:\workspace\phantomjs\bin文件夹,双击运行phantomjs.exe,出现如下界面,那么你就算得运行JS代码了。

“同学,谢谢君的好意。不过,我曾闹己之清扬了。”

分析的中心:任何一样卖报告还有一个骨干点,竞品分析一般也会围绕一个着力(公司的进步势头、产品之迭代方向等)去进行,这个中心就是分析议论的关键性,需要作者花还多篇幅去做详细阐释,否则面面俱到单见面吃投机陷在元气崩溃、读者读书乏味的窘境中。

图片 1

陈铭看于教室里最好右边前排靠近窗户的职位,记忆中之那同样勾身影。过肩的长发齐柔顺得充实在白色之校服及,一阵微风吹过,随着窗外的榕树叶轻轻飘落。陈铭的眼力温柔了下来,仿佛间来平等团温热之历届,又仿佛水里面有相同蔸燃烧的火花,炽热却同时美好。

栗子:卤煮之前写了千篇一律篇社交产品的竞品分析,目的是寻觅一种更nice的构建陌生人关系的法门及什么帮助陌生人打交道平台沉淀用户关系链。至于社交平台如何流量变现、运营策略这些虽无是核心,简单对比即可,少花精力分析。

  由于我们还比较疲惫,不希罕为运行一个先后连接走至D:\workspace\phantomjs\bin文件夹打开phantomjs.exe。那么,你可以将phantomjs.exe添加到环境变量里。具体如下:打开自己的处理器->右键属性->高级系统设置->高级标签->环境变量,在系统变量里找到Path,将您的phantomjs添加到环境变量里。比方说自己之途径添加的呢“;D:\workspace\phantomjs\bin”,切记不要少了面前老分号。

“有美一人口,宛如清扬。邂逅相遇,与子携臧。”

选竞品:选对了竞品事半功倍,选错了悔恨终身。竞品分析的唯一前提就是是竞品,如果你竞品都挑错了,浪费工作量不说,得出错误结论祸害团队那才是沉重之。

  3、第一个PhantomJS小程序HelloWorld

陈铭第一涂鸦读到就篇诗歌的时光,想起了清扬洗发水,觉得好慌意境,但还是大体记住了立即首诗想如果发挥的意。之后就几乎将忘记自己表现了及时篇诗歌了。直到,高二的时节,班级里来了平号女生。

栗子:还是卤煮那篇文档,当初一模一样想到移动社交,就想起微信,虽然为看不妥,但是加进去写了。虽然最终吧从没太多篇幅关于它,最多就是荒废工作量。但是倘若卤煮脑袋一熬得出了单结论说“陌生人的行之有效方式是摆一摆和漂流瓶,因为微信体量很充分,所以建议走社交产品要加这俩成效”,那怎么不是给长辈笑惨了(逗你的


“大家吓,我深受清扬。”

  • -)。

 

清扬!陈铭始终埋在书籍里的头算抬了起来,“有得意一丁,宛如清扬。”声音虽然未生,但要于站在讲台上老穿在崭新的校服的女生听到了。

那么哪是选择竞品呢,所谓知己知彼。首先是若亲切:

  好了,到目前为止,可以开我们的第一单PhantomJS程序了。打开你的劳作目录,新建文件hello.js,敲入以下代码,Ctrl+S保存:

“没错,我的讳来协调刚刚那位同学念的那么句诗。不过,我老是介绍自己都见面说,我是清扬洗发水的生清扬。”班里的人且笑笑了,仿佛忘记了他们之间并无熟识。

假若是立项阶段,就使掌握时市场趋势在哪里,用户需要,产品稳定等。

图片 2

陈铭看这个女孩特别当然,一点且非打。给丁平等种植非常赏心悦目干净的感觉。气质与班里的女生还不相同,落落大方。

若是周边迭代改版,可能会见众口一辞本来产品之不足之处以及后来产品的风味等。

 1 // a phantomjs example
 2 var page = require('webpage').create();
 3 phantom.outputEncoding="gbk";
 4 page.open("http://www.cnblogs.com/front-Thinking", function(status) {
 5    if ( status === "success" ) {
 6       console.log(page.title); 
 7    } else {
 8       console.log("Page failed to load."); 
 9    }
10    phantom.exit(0);
11 });

陈铭有好几心动。

此间介绍刘津前辈的一个摘取竞品的快方法,如下图。该办法相对比审慎和复杂,实际运用还要看报告的要求来灵活运用。

图片 3

现已几乎个礼拜了,陈铭为观察了清扬几只周末。他意识清扬是独乖孩子,甚至比他如乖。每节课认真听课,下课经常去问问题。平时以及四周的女生一于失去达到厕所,一起去用,一起错过商店买东西吃。

图片 4

  然后,打开CMD命令行工具,切换到您的眼前目录,敲入phantomjs
hello.js,结果如下:

陈铭不理解哪错过多讪她,不懂得哪些去挑逗她。

2

图片 5

制偶遭遇吧。

比与分析

  如果您的结果与我之如出一辙,那么恭喜你,你既打响跑起属于您的第一独PhantomJS程序了。那么我们大概介绍下者的代码:第2履,webpage是phantomjs的主导模块之一,它于用户提供了看、操作、选择web文档的接口。第3行,设置下编码格式,否则输出的或是是乱码。第4实行,运行page.open函数,其中第一只参数是您若拜的url,第二独参数是一个回调函数。在回调函数里我们检查了下返回的状态,如果是success那么我们便拿浏览的url制定文档的title打印出来,如您所表现,如果不是那么打印文档加载出错。最后一行离phantomjs执行环境。

于是,在众多只非小心的课间,陈铭假作去清扬的窗户边去押山水,那颗窗外的十分榕树。其实,他拘留的是窗子的玻璃上反光在的清扬的本来面目,安静的侧脸,做数学题时习惯性皱眉,一详细头发微风中扬尘。

对比和分析是竞品分析的始末主导,一般生一定量单点需要重点注意:

  4、PhantomJS核心API

陈铭还是没有勇气和它讲话。陈铭认为好充分怂,一点都非丈夫。直到学校设立了中秋文艺晚会。文艺委员问班里谁有一技之长,陈铭同清扬被推动了出,两只搭档一个剧目,正好满足了学一个班一个节目的渴求。

解析维度


陈铭永远都不见面遗忘他们俩的首先次等交谈。

竞品分析,可能会见自以下几只维度进行比分析:战略定位、盈利模式、用户群体、产品功能、产品界面(交互方式、视觉呈现)、数据和技能等,对于不同目的的竞品分析,会怀有青睐,这跟第一步着确定分析目标相呼应。

  webpage:如您所显现,上面的事例我们早就见识了她的威力了。它的用意重点是提供了同一法好看和操作web文档的着力措施,包括操作DOM、事件捕获、用户事件模拟等等。

“陈铭,你的专长是呀?”

而正重UE角度分析,可以参考《The Elements of User
Experience》的系理论(将UE分为5单范畴),实际写报告上,将相应内容填充即可。

  system:该模块提供了片暨操作系统相关的接口,例如访问操作系统信息、访问系统环境变量、接受命令行参数等等与程序执行相关的网信息。

“啊?。。。。哦,我会弹吉他,跳舞也会见或多或少。”

图片 6

  fs:即FileSystem。熟悉NodeJS的心上人都懂,NodeJS也内建筑了连带的核心模块。fs提供了履行文书I/O操作的标准接口,如读写文件、删除文件等。它让你持久化一些文书(如logfile等)变得非常容易。

“弹吉他,好什么。我会唱,要无您吉他伴奏,我唱唱好了。”

分析准则

  webserver:如该名字如出一辙,你可根据其来兑现协调之webserver,用来拍卖要而实施PhantomJS代码等。

“好啊。嗯,好。”

随便召开谁维度的对照,都急需依据相同之正规化(准则),才能够作出合理的解析。不过当下对一般的活功效来说,没有成文的正经,大概就“相同之操作系统,同一时期的本,同一地方的版等”即可。而做交互分析,可能需要从严遵循类似“十宗可用性准则”之类的法则来开:1,一致性与标准性;2,通过行之有效之举报消息提供明确的系统状态;3,方便快捷的运;4,预防出错;5,协助用户认识,分析及改正错误;6,识别而不是回忆;7,符合用户的真世界;8,用户擅自控制权;9,美观,精简的宏图;10,帮助及说明。

  其它一些布置信息,执行PhantomJS的命令格式如下:

“怎么了,你脸怎么红了,不见面是发烧了咔嚓?”

相对而言分析一般步骤是:

1 phantomjs [switches] [options] [script] [argument [argument [...]]]

“没有没有发。”

–>寻找产品元素

  其中,各种参数都是可选的。例如我们第一独程序的执行命令如下:

陈铭慌忙得走上前了洗手台,打开和把,狠狠得根据了瞬间融洽之脸面。可是,脸还是生烫。“陈铭,你最怂了!不就是跟清扬说了几乎句嘛!没出息!”陈铭狠狠得咎了瞬间好。“不过,怎么觉得多少小震动啊,嘻嘻。”

–>罗列展示(截图、标示、图表法等)

1 phantomjs hello.js

清扬觉得这个男孩子很纯情,明明长得阳光帅气,却不像任何男生一样耍帅,反而略呆呆的萌萌的。“而且他是自我长这么深以来,第一独掌握自己名字确切出处的男生。从来没有了如此。”

–>列举各自优缺点(尽可能考虑有重新老层次之逻辑关系,揣摩竞争对手的企图)

  打开debug模式(该模式用于开发,可提供必要提示信息):

最后,陈铭以及清扬确定了协作的戏码,《荒岛》——一篇杀小众的歌。

参照的眼前试官的报告及顺序网路大神的博文归纳可知,这无异片要不在你罗列多详细,而在于你把每个罗列项分析到位了从未有过(好像是废话啊,orz)

1 phantomjs --debug=yes hello.js

清扬惊奇得发现,只要是它们好询问之东西,陈铭就从不呀是休清楚之。清扬有一致不好故意说了千篇一律词很生僻的诗句,“何以致契阔。”陈铭还连自了下一样句子,“绕腕双跳脱。”并且说自了当下句诗背后的故事。清扬第一涂鸦看自己稍鹿乱撞,因为他的德才。

3

  设置cookie路径:

陈铭以听见清扬开口唱《荒岛》的早晚,被震惊到了。他不曾想到,清扬唱歌也会那么清扬,嗓音清亮悠扬。而且唱的清扬更加坦然了。陈铭看“岁月静好”这个词应该用在放清扬唱歌的时段。

议论和提出解决思路

1 phantomjs --cookie-file=cookie.txt hello.js

中秋节晚会演出的当儿,陈铭没有想到清扬打扮起来会是那得好看。陈铭用了“好看”而非是“漂亮”,因为他当是词符合清扬干净的仪态。清扬一承受白裙,头发扔披在肩上,画了杀淡的首饰。十分勤俭节约,可是每当陈铭眼里,却是那样得灼,灼灼其华。

生了直达亦然步坚实的解析基础,最后一步就是是显得自己败(吹)决(水)问(功)题(力)了。

  5、操作page content

不折不扣演出的进程中,弹吉他的陈铭的眼神,从来不曾离过清扬。陈铭像个女生一样,期盼着,如果上永远滞留在即时一刻哪怕好了。

回头看好定下的竞品分析目标是呀,需要吗解决什么问题


清扬知道陈铭阳光帅气,可是也没悟出他弹吉他的时,会是那得帅。清扬那时也当思念,如果上永远留在当下一刻就吓了。其实,清扬,那时候,还在怀念,“如果,他大约我出去,我得答应。如果他追逐自己,我决然答应。”

看第二步着相应维度的自查自纠分析结论,然后切换至用户身份,脑补一下协调的“需求”是啊

  在helloworld中我们已经学会了安看一个url并取出它的title。下面我们看如何选并操作DOM元素:

陈铭压制不停歇心中之冲动,他必定要是盖清扬出去,他惦记表白。

末段咋一首科技媒体的“趋势分析”,打探近未来之行方向

  DOM选择器,常用的getElementById、getElementByClassName、getElementByName、getElementByTagName、querySelector(CSS选择器)。

发出短信后,陈铭看好不怂了,终于像个男人了。

就可以脑洞大开起属于自己之解决方案了

  我们看一个用querySelector的例证:

清扬觉得陈铭他连连会看显自己心肠所思的,突然同时看这样说得言,自己怎么不是于陈铭看光光了。开始脸红,开始不好意思,嘴角却一味有笑容,挺幸福的。

上面虽然说话略带戏,但骨子里情形大致就是这般,尤其是新娘以及学生以行业知识无要命丰的时段,借鉴专业媒体来开辟思路不失为一个方式,不过最好好啊该还多地基于自己亲自体验的感触,虽然您的是“伪需求”,但终究为意味着着某个平像样用户。

1 var content = page.evaluate(function () {
2 var element = document.querySelector('#elem');
3     return element.textContent;
4 });
5 console.log(content);

陈铭约得是在海边。

补相同久:

  evaluate函数是单新物,其实挺简单,就是于webpage环境下执行evaluate传入的回调函数,在即时之中实践及phantom相关的操作可以避免web页面刺探phantom相关的安装信息。上面的代码就比较简单了,不啰嗦了。

十月份之近海,不像八月份底近海那样海风温暖。海水也无像八月份之海水那样清凉。更多的,是冷。海风是凉之,海水也是凉的。不制冷的,是零星发年轻而还要炙热的心迹。

思叫好之化解方案看起越靠谱,多次得引用一些具体的数量来定性分析,这时可以整合自己情况举行些稍调研,了解一下别样用户指向拖欠问题的见,或者去一部分数目门户(http://www.iresearch.cn/等),看看专业调查分析的一些借鉴一下。

  模仿用户点击事件:

陈铭很勇敢,并从未先行表白,而是一直带入起了清扬的手。清扬没有拒绝,红着脸任他带走在。陈铭很开心得笑了,拉着她于近海奔跑,伴随在拍打岸边的海水波浪的见证人。

重新补偿相同长条:

  phantomJS提供了点儿种模拟点击事件之接口,一个是sendEvent,phantomJS事件触发器;一个凡是DOM事件触发器。

“清扬。”

偏偏的竞品分析没有什么意义,切勿为了分析如果分析,而是应当带在题材去做竞品分析,把竞品分析作为是熟悉业务、解决问题的手法。

  我们先行瞧第一单,语法如下:

“嗯?”

如上是关于卤煮之前都当形容竞品分析下发了之片段谬误的检讨和方法论的下结论,还有对有的网络大神精彩文章的援。

1 sendEvent( eventType, Point X, Point Y, button='left' )
2 eventType: mouseup  mousedown mousemove click doubleclick
3 Point X : 触发事件的X坐标
4 Point Y: 触发事件的Y坐标

“我爱好你,做自己阴对象吧?”

最终谢谢:

  第二只,我们还应该比熟悉了:

“。。。。。。。嗯,好。”

网易用户体验设计中心:

图片 7

陈铭记得,那时的海是他展现了极端蓝顶美的一律差。那时的民歌,是他以为太匹配他的歌谣。吹在身上,有硌冷。陈铭这将外套给清扬披上。体贴。

http://uedc.163.com/

 1 var evt = document.createEvent("MouseEvents");
 2 evt.initMouseEvent(
 3     "click", // 事件类型
 4     true, 
 5     true, 
 6     window, 
 7     1, 
 8     1, 1, 1, 1, // 事件的坐标
 9     false, // Ctrl键标识
10     false, // Alt键标识
11     false, // Shift键标识
12     false, // Meta键标识
13     0, // Mouse左键
14     element); // 目标元素
15 element.dispatchEvent(evt);

“清扬,我们也算邂逅相遇了,接下去为?”陈铭坏笑得问道。

不知名大神的博客:

图片 8

“嗯。。。。。。与子携臧。”本来脸就不好意思得红了起,说得了这无异于句,清扬的颜面再红了。

http://www.cnblogs.com/frankfang/archive/2011/04/21/2023618.html

  6、事件处理

那天的日落很美,金黄得偏红,就比如清扬害羞的体面。

终极提供一个小学生水平的周旋竞品分析模版,给大家看做反面教材  🙂


寒假的时光,他们手拉手去爬了崂山。爬山底上,开始下雪。雪花如丝,纷飞漫天。

http://share.weiyun.com/e166639c2c53b43b47b16823b5bacee3

  于委的浏览器里,任何事件时有发生都可见,而当PhantomJS里还是不可见的。在PhantomJS里,我们可以捕获这些事件并做出相应处理。由于涉及到的波来成百上千种,那么我们今天单独把一个比实用的风波作例子,基于此事件而可以监控一个页面并做出分析:

清扬说,“雪真美,南方很少看雪。”

爱屋及乌我毛事

1 var startTime = null;
2 page.onLoadStarted = function() {
3     startTime = new Date().getTime();
4 }

陈铭说,“对什么。那咱们就算基本上扣几乎眼吧。”

点击屏幕右上比赛查看公众号还是复制:guanwomaoshi

  监听也远非开加载事件,获取初始加载时间;

实则,清扬想说,“再来两三独月我就设转移走了。回到我原本的地方失去上高三。”

好关心本身,查看更多好玩之稿子

图片 9

其实,陈铭想表达,“我明白,多看几乎眼睛雪,多扣几乎目我吧。”

原创·分享·关注您所想

1 var resources = [];
2 page.onResourceRequested = function (request) {
3     resource = {
4         "startTime": request.time,
5         "url": request.url
6     };
7     resources[request.id] = resource;
8 };

监听资源文件请求事件,获取资源发起请求的时间;

心照不宣,都没有说出来。

IT圈内总人口,积极发展,偶尔说说产品、聊聊电商、谈谈游戏,我是一个杀庄重的人口!

图片 10

等于交巅峰的时段,雪已了。消失的阳光更过层层截留,散发出金黄色的光线,稀稀拉拉的几乎缕照当银的雪球上,却并未反射出温暖的水彩,周围到处都是充满山遍野的白眼。山顶云雾缭绕,阳光朦胧,一切看似不那么真诚,如梦如幻。只有紧密牵起底双手是实在,隔在厚厚的手套,仍能感受及对方的尽早冻僵的指的呆和砰砰跳的脉搏。

图片 11

“清扬,以后我们一块去上海好与否?”

1 page.onResourceReceived = function (response) {
2     if(response.stage == "start") {
3         resources[response.id].size = response.bodySize;
4     } else if(response.stage == "end") {
5         resources[response.id].endTime = response.time;
6     }
7 };

监听资源文件加载完成事件,获取加载完成时间;

“陈铭,以后我们一同环游世界好吗?”

图片 12

星星句子话在与一个瞬间作。

图片 13

“噗嗤。”

 1 page.onLoadFinished = function () {
 2     endTime = new Date();
 3     timeInSeconds = (endTime - startTime) / 1000;
 4     console.log("Loading takes " + timeInSeconds + " seconds.");
 5     resources.forEach(function (resource) {
 6         st = new Date(resource.startTime).getTime();
 7         et = new Date(resource.endTime).getTime();
 8         timeSpent = (et - st) / 1000;
 9         console.log(timeSpent + " seconds : " + resource.url);
10     });
11     phantom.exit(0);
12 };
监听文档加载完成事件,记录完成时间,并打印出所有资源文件的耗时。

简单阵相同之笑声,不出口自明的心有灵犀。

图片 14

“好。”

  上面的on+事件,做了季宗事,监听资源文件要和加载成功事件,监听文档加载开始就事件,获取相应的时光,这样咱们尽管得用这些事件去分析这个页面的特性问题了。

“好。”

  7、抓取页面

面对蓝天雪山许下的预约,不知底会不能够实现。但是,陈铭与清扬相信她们能兑现。


陈铭第一不成吻了清扬。先是额头。清扬羞得低下了条,但是手也搂住了清扬的腰。陈铭一鼓作气捧起了清扬冻得火红的面目,吻了下。

  将要访问的页面抓到手保存也图或PDF文件之格式,这在PhantomJS里非常简单。我们下就是各自召开一个封存图片与PDF的例证:

就算是这一刻,就已于当时一阵子咔嚓。

  保存也图:

再度开学的时节,清扬的位子就是空了。陈铭知道清扬要走,总以为还要几只月,没悟出,走得那么突然,那么早。

图片 15

回家的时,陈铭收到了清扬的电子邮件,告别的邮件。

 1 // a phantomjs example, saved as img
 2 var page = require('webpage').create();
 3 page.open("http://www.cnblogs.com/front-Thinking/", function(status) {
 4    if ( status === "success" ) {
 5       console.log(page.title); 
 6       page.render("front-Thinking.png");
 7    } else {
 8       console.log("Page failed to load."); 
 9    }
10    phantom.exit(0);
11 });

陈铭看清扬的出现和距离就如是《再别康桥》里之词,轻轻地的来,悄悄地动。剩下一段子酝酿发酵的追忆。

图片 16

“清扬,再见。”

  注:render获取一个参数,即保存文件之文书称。结果如下:

陈铭想起了哆啦A
梦和大雄的结果,那个在网上传的后果。哆啦
A
梦幻同大雄的故事,只是同个患儿在精神病院想象发生的故事。陈铭还追忆了平等总统影片,《不可知说的私》。周杰伦在同生活于另一样段落时空的食指当谈恋爱,只发客一个总人口会见桂纶镁。

图片 17

只有同学等座谈起清扬时,陈铭才懂得一切都是真的。陈铭很愿意,再闻清扬自我介绍的声息,“大家好,我深受清扬。清扬洗发水的老清扬。”

  保存为pdf:

高考后,陈铭去了复旦。陈铭坚信清扬会在复旦,因为她们预定了一样起来上海。心有灵犀得,陈铭看清扬不会见错过另院校。

图片 18

大一的初杀晚会上,陈铭听见台上的女生再说,“大家吓,我让清扬,清扬洗发水的不可开交清扬。我当寻找一个会弹吉他的男孩子,我以摸索一个既约定和自我旅错过环游世界的男孩子。我坚信他来了复旦。陈铭,你下。”

 1 // a phantomjs example,saved as pdf file
 2 var page = require('webpage').create();
 3 page.open("http://www.baidu.com", function(status) {
 4    if ( status === "success" ) {
 5       console.log(page.title); 
 6       page.paperSize = { format: 'A4', 
 7             orientation: 'portrait', 
 8             border: '1cm' };
 9       page.render("front-Thinking.pdf");
10    } else {
11       console.log("Page failed to load."); 
12    }
13    phantom.exit(0);
14 });

闻第一句子话的时光,陈铭就因来了观众席。抢了了主席之话筒,借了一样把吉祥他。在清扬最后一句子话赢得下的时候,走及舞台。

图片 19

“清扬!”陈铭认为温馨即将哭了,告诉自己非能够煽动,不克哭,“好久不见。”

  注:其中,pagerSize设置pdf的格式。结果如下:

《荒岛》的节奏再度响起,清扬清亮的嗓音,好久没听到了。

图片 20

一如当年。

  以这些供的特征,你完全可以举行一个爬虫去爬去别人的网站。

歌唱的清扬,弹吉他的陈铭。

  8、文件操作相关

“陈铭,有没有出看齐自身表白的纸条。”


“啊!那是若写得什么!我推却了,并且在纸条的背面写上了,‘对不起,我来我之清扬了。’”

  文件操作以编码中颇有因此,例如你得拿一部分配备信息在文件中,在程序执行的长河遭到错过读取;你吗可以以你程序执行过程中有些实惠之音讯保存也文件。因此文件I/O非常有效。我们举个简单的事例,读取文件信息:

“傻瓜。”

图片 21

“我愿意。”

 1 var filePath = '/workspace/file1.js';//文件路径
 2 
 3 //判断文件是否存在,是文件还是文件夹
 4 if( fs.exists(filePath) && fs.isFile(filePath) ) {
 5        var ins = fs.open(filePath, 'r');//打开文件
 6         while(!ins.atEnd()) {//循环读取文件内容
 7            var buffer = ins.readLine();//一行行的读取
 8            console.log(buffer);
 9        }
10 }

图片 22

  这里,读取文件内容连逐行打印。文件操作发生以下几种方式:

1 r      //读取文件
2 w    //写文件,回覆盖
3 a     //写文件,追加
4 rb    //读取二进制流
5 rw    //写入二进制流

  9、模块化


  模块化是绝非个技巧还提到到的情,这里不做详细介绍了。具体可参看阮一峰前辈的博客:http://www.ruanyifeng.com/blog/2012/10/javascript\_module.html

  10、与jQuery等第三在的构成


  有多叔着非常不错之库函数,那么这里我们便举一个大家还死爱的jQuery库函数来讲讲phantomJS与库函数的咬合。代码如下:

图片 23

 1 var page = require('webpage').create();
 2 page.open("http://www.cnblogs.com/front-Thinking/", function(status) {
 3     if ( status === "success" ) {
 4         page.render("before.png");
 5         page.includeJs("http://code.jquery.com/jquery-1.10.1.min.js", 
 6             function() {
 7                 page.evaluate(function() {
 8                 $('#Header1_HeaderTitle').html('My PhantomJS');
 9             });
10             page.render("after.png");
11             phantom.exit();();
12         });
13     }
14 });

图片 24

  以上代码,访问我的博客地址,并抓捕到手截屏,加载jquery后改我博客的题,结果如下:

  图片 25

before.png

图片 26

    

  after.png

  11、其它


  PhantomJS可以做的政工太多了因为关于自己也许都介绍了单独生它N分之一,N趋于无穷大。说了独自是入门的帖子,所以就是不再深入介绍下了,当然我也特是个小白,暂时知道了解的也罢较浅显。其实,PhantomJS可以构成Jasmine来一起开测试,可以省去很死之人工和时间本。同时,开源社区有不少基于PhantomJS做的工具和动用,例如前端爬虫等,有趣味之不妨去读读。

相关文章