我们如何访问PhantomJS下载的文件?
我正在使用PhantomJS通过https://github.com/sgentle/phantomjs-node/加载一个网页,并想知道
- 我怎样才能阻止它加载图像文件?
- 我如何访问已经由PhantomJS下载的文件?
- 为什么PhantomJS的屏幕截图与我的浏览器中显示的不同? 附在下面
我怎样才能阻止它加载图像文件
您可以在--load-images=false
过程中将--load-images=false
命令行选项通过桥传递给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不会下载任何文件到可定制的位置,如果你点击一些东西。 相反,它可能会将下载的文件放入caching中。 您可以通过命令行选项启用磁盘caching(如上所示):
phantom.create('--load-images=false', '--disk-cache=true', function (ph) {...});
这个答案显示了PhantomJS创build的临时文件的默认位置。
为什么PhantomJS的屏幕截图与我的浏览器中显示的不同?
这可能是任何事情。 PhantomJS具有400×300像素的默认视口(通过媒体查询产生差异)以及与普通桌面浏览器不同的用户代理string。 网站可能会运行一些浏览器检测和function检测脚本,它们可以将PhantomJS与普通的桌面浏览器区分开来。 这可能是任何事情,但改变视口的大小可能就足够了:
page.set('viewportSize', { width:1280, height:800 }); page.set('settings.userAgent', 'some desktop user agent string');