Javascript 我们如何访问PhantomJS下载的文件?
我正在使用PhantomJS加载一个网页,我想知道Javascript 我们如何访问PhantomJS下载的文件?,javascript,node.js,phantomjs,Javascript,Node.js,Phantomjs,我正在使用PhantomJS加载一个网页,我想知道 如何阻止它加载图像文件 如何访问PhantomJS已经下载的文件 为什么PhantomJ的屏幕截图与我的浏览器中显示的截图不同?附件如下 如何阻止它加载图像文件 在创建过程中,您可以通过桥将--load images=false传递给PhantomJS: var phantom = require('phantom'); phantom.create('--load-images=false', function (ph) {...})
- 如何阻止它加载图像文件
- 如何访问PhantomJS已经下载的文件
- 为什么PhantomJ的屏幕截图与我的浏览器中显示的截图不同?附件如下
--load images=false
传递给PhantomJS:
var phantom = require('phantom');
phantom.create('--load-images=false', function (ph) {...});
// or
phantom.create({parameters: {'load-images': false}}, function (ph) {...});
或者,您可以在脚本期间通过以下方式进行设置:
如何访问PhantomJS已经下载的文件
PhantomJS不会将任何文件下载到可自定义的位置,例如,如果您单击某个内容。相反,它可能会将下载的文件放入缓存。您可以通过命令行选项(如上所述)启用磁盘缓存:
显示PhantomJS创建的临时文件的默认位置
为什么PhantomJ的屏幕截图与我的浏览器中显示的截图不同
它可能是任何东西。PhantomJS的默认视口为400x300像素(通过媒体查询不同),用户代理字符串与普通桌面浏览器不同。网站可能会运行一些浏览器检测和功能检测脚本,这些脚本可以对PhantomJ进行不同于普通桌面浏览器的分类。它可以是任何对象,但更改视口大小可能就足够了:
page.set('viewportSize', { width:1280, height:800 });
page.set('settings.userAgent', 'some desktop user agent string');
我猜我没有正确设置UA和settings.loadImages,但现在除了临时文件外,一切都正常工作。我不知道是否所有资源都已缓存,而且缓存的资源都是您需要解析的特殊格式。最好使用PhantomJS显式下载一些文件。如果您对网站和脚本有特殊问题,请提出新问题。
phantom.create('--load-images=false', '--disk-cache=true', function (ph) {...});
page.set('viewportSize', { width:1280, height:800 });
page.set('settings.userAgent', 'some desktop user agent string');