phantomjs有人使用吗, 怎么样? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
leohxj
V2EX    Javascript

phantomjs有人使用吗, 怎么样?

  •  
  •   leohxj 2013-06-12 22:58:33 +08:00 12642 次点击
    这是一个创建于 4580 天前的主题,其中的信息可能已经有所发展或是发生改变。
    首先问一下,windows下如何安装?为什么我通过npm安装不了,直接下载.exe需要加入到PATH中吗?
    这个工具主要的作用和用途是什么呢?
    18 条回复    2014-09-23 12:56:24 +08:00
    seeker
        1
    seeker  
       2013-06-12 23:32:59 +08:00   1
    用过,不过不是windows下用的。
    官方说是Headless WebKit with Javascript API。
    所谓headless就是没有菜单,收藏夹,没有窗口。
    with Javascript api就是可以通过js来操作。

    经常拿来做web测试用。
    我用它来做过简单的爬虫,它可以到页面植入自己的js,于是可以用jquery的css选择器来抓去想要的内容。为啥不直接抓,非得用它?因为页面内容如果是ajax load的直接抓就拿不到了。
    keakon
        2
    keakon  
       2013-06-13 00:47:00 +08:00   1
    用过,发现抓出来的图比 Chrome 的文字浅一些,就换掉了。
    maja
        3
    maja  
       2013-06-13 08:23:30 +08:00   1
    phantomjs不错的,做一些抓图、测试之类的很好。中文装wqy就可以

    @keakon 可以修改字体

    @seeker ajax load的可以设置延迟启动,在.ready之后在抓,或者等到你需要的dom存在了在抓,都可以。

    无耻的广告: 我的 http://www.screenshotbot.com 就用的这个
    RelativeLayout
        4
    RelativeLayout  
       2013-06-13 09:57:50 +08:00   1
    可以试一下casperjs 可以说是phantomjs的库把。
    leohxj
        5
    leohxj  
    OP
       213-06-13 10:12:42 +08:00
    @keakon
    @RelativeLayout
    @maja
    大家在什么平台下?我windows8+node 1.10,通过npm安装不了。。。
    maja
        6
    maja  
       2013-06-13 10:14:17 +08:00   1
    @leohxj hmm, phantomjs? 直接下载binary的安装包就可以了啊
    leohxj
        7
    leohxj  
    OP
       2013-06-13 11:15:52 +08:00
    @maja 然后把phantomjs.exe添加到PATH中吗?
    RelativeLayout
        8
    RelativeLayout  
       2013-06-13 11:20:40 +08:00   1
    @leohxj 我在mac下的。你再研究下windows下的装法。
    seeker
        9
    seeker  
       2013-06-13 12:27:26 +08:00   1
    @maja 我没说清楚。我的意思是:传统的爬虫,不好抓ajax的。我知道如何用phantomjs抓ajax load的。
    leohxj
        10
    leohxj  
    OP
       2013-06-13 12:54:59 +08:00
    @RelativeLayout 你mac下直接从官网下载的吗,还是通过npm安装的?
    TempAccount
        11
    TempAccount  
       2013-06-13 13:08:47 +08:00   1
    phantomjs是一个和node.js无关的独立程序, 你怎么想到用npm安装的... 直接上官方下可执行文件就行了
    leohxj
        12
    leohxj  
    OP
       2013-06-13 13:33:41 +08:00
    @TempAccount 因为node也有模块, grunt中会使用到。所以如果我加载了phantomjs到PATH中,npm又安装了同名的命令,不知道grunt调用的时候会不会冲突。
    em91
        13
    em91  
       2013-06-13 15:36:06 +08:00   1
    感觉casperjs的写法更舒服一些,基于phantomjs
    thursday
        14
    thursday  
       2013-06-13 18:12:28 +08:00   1
    casperjs 的在linux 上乱码 支付框框的 问题 搞死了快
    keakon
        15
    keakon  
       2013-06-13 19:37:46 +08:00
    @leohxj OS X、Debian 和 Ubuntu 都试过。

    @maja 设了字体,就是浅一点。
    AlfredZhao
        16
    AlfredZhao  
       2013-06-13 21:22:45 +08:00
    1楼正解...我用它做过截图的,不过在截图上表现不如cutycapt
    duhastmich
        17
    duhastmich  
       2013-06-26 21:27:36 +08:00
    老早之前一个项目里用它来生成pdf。。服务器上没有X,设置起来略麻烦, 只是做测试的话,还有个zombiejs 不是基于phantomjs的
    bobkingdom
        18
    bobkingdom  
       2014-09-23 12:56:24 +08:00 via iPhone
    phantomjs怎么支持指定字体截图啊?网页是微软雅黑,截图出来的却是别的字体,还有大有小。这应该是个高分题吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1171 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 17:35 PVG 01:35 LAX 09:35 JFK 12:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86