存档

2019年4月 的存档

PhantomJS

2019年4月19日 没有评论

最近一直都在用一个网上免费的xx服务,但是其账号会

最近一直都在用一个网上免费的xx服务,但是其账号会更新,所以就需要时不时地访问其页面以获取更新的账号。这不,突然就无法访问了。我用海外的服务器访问了下,发现还是可以访问的。但是这个网页的内容是用 js 动态生成的,这样就无法简单地查看了。

所以就想有没有什么工具可以获取网页的dom树,刚开始时搜索了下命令行的浏览器,后来发现不能满足要求,因为我需要点击页面里的一个按钮以复制账号信息。后来换了个思路,如果可以生成网页截图的话,起码我可以手动的通过扫描二维码来添加账号。

后来在网上发现了这个工具:PhantomJS,按照官网说法,它可以生成网页快照,辅助做一些自动化测试的工作。

简单扫描了下示例代码,在 example 目录下,恰好就有一个现成的例子(rasterize.js),调用也很简单,例如 .\phantomjs.exe ..\examples\rasterize.js https://www.baidu.com/ image.png 1920px。对于最后一个参数,需要多说一句,官方的示例运行会报错(ReferenceError: Strict mode forbids implicit creation of global property ‘pageWidth’),在代码的开始部分添加 pageWidth和pageHeight定义即可。

海外的服务器么,自然会有另外一个问题就是对于中文的支持,apt-get install xfonts-* 完事。

最后看到了生成的截图,上面说如果无法访问,就使用 IP 代替等等,于是添加了一个host解析,终于浏览器可以正常访问了。

回到需求本身上来,后续看看是否可以用PhantomJS作为监控,每当更新了账号信息时就主动通知我。

分类: 一句话, 工具 标签: