我正在使用PhantomJS通过https://github.com/sgentle/phantomjs-node/加载网页,并且想知道
答案 0 :(得分:3)
如何阻止它加载图像文件
您可以在创建期间将--load-images=false
commandline option通过桥传递给PhantomJS:
var phantom = require('phantom');
phantom.create('--load-images=false', function (ph) {...});
// or
phantom.create({parameters: {'load-images': false}}, function (ph) {...});
或者您可以在脚本中通过page.settings
:
page.set("settings.loadImages", false);
如何访问PhantomJS已下载的文件?
PhantomJS不会将任何文件下载到可自定义的位置,例如:点击一下。相反,它可能会将下载的文件放入缓存中。您可以通过命令行选项启用磁盘缓存(如上所述):
phantom.create('--load-images=false', '--disk-cache=true', function (ph) {...});
This answer显示PhantomJS创建的临时文件的默认位置。
为什么PhantomJS的屏幕截图与浏览器中显示的截图不同?
它可能是任何东西。 PhantomJS的默认视口为400x300像素(通过媒体查询的差异)和不同于普通桌面浏览器的用户代理字符串。网站可能会运行一些浏览器检测和功能检测脚本,这些脚本可以将PhantomJS与普通桌面浏览器进行不同的分类。它可以是任何东西,但改变视口大小可能就足够了:
page.set('viewportSize', { width:1280, height:800 });
page.set('settings.userAgent', 'some desktop user agent string');