Articles of phantomjs

Nodejs + phantomjs与纯幻影 – 页面加载时间

我在探索nodejs和phantomjs,并写了一个小代码来测量页面加载时间。 我发现页面加载时间在包装在nodejs中的phantomjs代码与纯幻象代码相比有所不同。 下面是代码:phantomjs和nodejs进行比较: 的NodeJS: var http = require('http'), phantom = require('phantom'); url = require("url"); http.createServer(function (request, response) { var start = Date.now(); request.on('end', function () { phantom.create(function(ph) { ph.createPage(function(page) { var _get = url.parse(request.url, true).query; page.open(_get[url], function(status) { if (status == 'success') { var time = Date.now() – start; console.log(time); } }); }); }); }); […]

使phantomjs(nodejs系统)使用本地字体而不是webfonts

我遇到了使用phantomjs 2.1.1从html中渲染非常大的PDF文件的问题 上面提到的解决scheme是在ubuntu上本地安装字体,然后让phantomjs使用这些字体。 有没有人有这样的经验?

将JavaScript注入到zombie.js中

您好,我想知道是否有能力在节点js和僵尸js注入javascript文件到无头浏览器,类似于你可以用phantomjs做什么。 例如在幻影js你会做: page.injectJs("amino/TVI.js") 我已经使用phantomjs,它做了我想要做的事情,但是我正在testing其他选项,因为使用幻像js所需的高内存。

无法通过phantomjsnetworking服务器传送图像文件

我正在尝试得到phantomjsnetworking服务器为我工作 我想提供2个文件,HTML文件和PNG图像文件,HTML文件服务良好,并在浏览器中正确呈现,但PNG文件不 这里是服务器的代码 var fs = require('fs'); function loadFile(name){ if(fs.exists(name)){ console.log(name+ " File exist"); return fs.open(name,"r"); }else { console.log("File do not exist"); } } var server, service; server = require('webserver').create(); service = server.listen(8080, function (request, response) { if(request.url.split(".")[1] === "html" ){ var fi = loadFile("./test.html"); response.statusCode = 200; response.write(fi.read()); fi.close(); response.close(); }else if (request.url.split(".")[1] === […]

PhantomJs – 如何渲染多页PDF

我可以用phantomJS创build一页PDF文件; 但我不能find文档如何创build不同的页面(每个页面来自HTML视图),并把它们放在一个PDF? 我正在使用NodeJS的节点幻像模块

PhantomJS崩溃 – 退出代码126

当我尝试在CentOS(64位)系统的工作stream程中运行phantomJS时遇到一个奇怪的问题。 这是它报告的错误: [4mRunning "qunit:all" (qunit) task[24m Testing http://localhost:8000/tests.html Running PhantomJS…[31mERROR[39m [31m>> [39m/home/jenkins/jenkins/workspace/nick_node_te/web-client/client/node_modules/grunt-contrib-qunit/node_modules/grunt-lib-phantomjs/node_modules/phantomjs/lib/phantom/bin/phantomjs: /home/jenkins/jenkins/workspace/nick_node_te/web-client/client/node_modules/grunt-contrib-qunit/node_modules/grunt-lib-phantomjs/node_modules/phantomjs/lib/phantom/bin/phantomjs: cannot execute binary file 0 [ '/home/jenkins/jenkins/workspace/nick_node_te/web-client/client/node_modules/grunt-contrib-qunit/node_modules/grunt-lib-phantomjs/node_modules/phantomjs/lib/phantom/bin/phantomjs: /home/jenkins/jenkins/workspace/nick_node_te/web-client/client/node_modules/grunt-contrib-qunit/node_modules/grunt-lib-phantomjs/node_modules/phantomjs/lib/phantom/bin/phantomjs: cannot execute binary file' ] [33mWarning: PhantomJS exited unexpectedly with exit code 126. Use –force to continue.[39m [31mAborted due to warnings.[39m 我似乎无法find这种types的崩溃的任何良好的文档。 这是通常和/或值得一个错误报告? 更新: 这些是我的文件的权限: -rwxr-x–x. 1 root root 11308856 Sep 26 12:39 phantomjs

有没有办法在PhantomJS中禁用Google Analytics(分析)跟踪?

我想使用PhantomJS来跟踪一些网站,但我不想将Google Analytics(分析)发送给用户。 有没有办法禁用Google Analytics跟踪脚本(ga.js / analytics.js)向Google发送数据? 就像通常的GAOptOut浏览器插件一样。 我查看了一下Chrome插件,并尝试了这个代码,但是在告诉PhantomJS时(onLoadStart),似乎并没有被执行。

将phantomJS部署到node.js应用程序?

我意识到“在Heroku上运行PhantomJS”是一个相关但略有不同的问题,因为我正在尝试使用节点应用程序。 我在为节点应用程序部署casperJS(基于phantomJS)脚本时遇到问题。 我已经尝试通过将PhantomJS 64位二进制文​​件放入我的应用程序的/bin目录来尝试部署到Heroku,但是当我尝试运行PhantomJS时遇到以下错误: phantomjs: error while loading shared libraries: libQtWebKit.so.4: cannot open shared object file: No such file or directory 从我读过这可以通过安装QtWebKit库解决,但Heroku没有安装。 是否有另一个托pipe服务提供商可以使用,或者在Heroku上安装这个软件包? 相关代码: app.get('/', function(request, response) { var sys = require('sys') var exec = require('child_process').exec; var child; //works but gives error while loading shared library libqtwebkit.so.4 child = exec("phantomjs –version | tr -d '\n'", […]

Phantom.js / Casper.js与旋转代理?

我有一个简单的目标:加载网页与phantom.js (开箱)或casper.js (好,更容易),但使用代理,并从列表中旋转它 ,如果目前的一个坏(即网页加载失败或类似的东西那)。 我知道casper.js有–proxy参数,但它决定了用户只能指定一个代理并在运行时使用它。 问题1是:如何以编程方式轮播代理? 我做了一些研究,发现这个节点请求者,但它没有与casper.js集成。 我试图在代码中提取出代理function,但并没有真正理解它是如何工作的(我不是很聪明,我猜)。 所以问题2:是否有一些代理旋转的简单实现可以与phantom.js或casper.js ? 我更喜欢使用花式的casper.js但是也会用phantom.js 。

如何运行PhantomJS作为服务器并远程调用它?

这可能是一个非常基本的问题。 我想运行一个无头浏览器PhantomJS作为服务器,但不作为命令行工具。 一旦运行,我想通过HTTP远程调用它。 我唯一需要的是发送一个URL并取回HTML输出。 我需要它为AJAX应用程序生成HTML以使其可search。 可能吗 ?