我的代码只能在Phantom.js上使用自定义用户代理值。但是,当我尝试通过npm phantom为Node.js包装此代码时,我在设置 User-agent 的值时遇到了问题。正如我从模块描述中了解到的那样,它应该像这样p.page.set('settings', { ... })
即使使用示例代码它也不起作用:
var phantom = require('phantom');
phantom.create(function(ph) {
return ph.createPage(function(page) {
return p.page.set('settings', {userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36'});
// or p.page.set('settings.userAgent', 'Mozilla ....');
return page.open("http://www.google.com", function(status) {
return page.evaluate((function() {
return document.title;
}), function(result) {
console.log('Page title is ' + result);
return ph.exit();
}); }); }); });
我应该在哪里插入此代码 - 在phantom.create之后或ph.createPage之后以及为什么它返回错误
stream.js:94
throw er; // Unhandled stream error in pipe.
^
ReferenceError: p is not defined