首先,我正在使用带phantomJS bridge的节点。
PhantomJS是v1.9.2
节点是v0.10.15
我的问题是我无法将配置文件设置为phantomJS-node。
基本上我的代码是:
var phantom = require("node-phantom");
phantom.create( function ( err, ph ){
ph.createPage( function ( err, page ){
page.set( "settings.config", "./myConfig.json" );
page.get( "settings", function( err, settings ){
console.log(settings);
});
});
});
我只在console.log(settings);
:
{ XSSAuditingEnabled: false,
javascriptCanCloseWindows: true,
javascriptCanOpenWindows: true,
javascriptEnabled: true,
loadImages: true,
localToRemoteUrlAccessEnabled: false,
userAgent: 'Mozilla/5.0 (Macintosh; PPC Mac OS X) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.2 Safari/534.34',
webSecurityEnabled: true }
我已尝试过很多东西将我的配置文件分配给phantomJS或我的页面实例,但没有运气。
set('settings.config')
或phantom
上的 phant
,但没有任何结果。
我也尝试过,正如在文档中说的那样:
phantom.create("--config=./path/to/config.json", function ( err, ph ){
...
});
错误,需要一个函数作为第一个参数。所以我试过了:
phantom.create(function ( err, ph ){
...
}, {"--config":"./path/to/config.json"});
仍然没有运气。
我错过了什么吗?
感谢您的时间。
编辑:我没有使用正确的文档(-_-)......
所以使用node-phantom
(我最终使用的那个)的正确方法是:
phantom.create( callback, { parameters : {"config" : "path/to/file.json" }});
我可以证实,它现在正在运作。
答案 0 :(得分:2)
据我所知,你找不到合适的文档......在Node.js上有两个主要的PhantomJS软件包:
我看到你正在使用 node-phantom :
var phantom = require("node-phantom");
但您正在尝试使用幻像功能。正如它在 phantom 的文档中所写:
不能直接获取/设置属性,而是使用p.get('version',callback)或p.page.set('viewportSize',{width:640,height:480})等。嵌套可以通过在键中包含点来访问对象,例如p.page.set('settings.loadImages',false)
但是,您使用的包 node-phantom 似乎没有字面上相同的功能。
希望它有所帮助!