在phantomjs 1.8中伪造flash插件信息

在phantomjs 1.8中伪造flash插件信息,flash,plugins,phantomjs,Flash,Plugins,Phantomjs,我是幻影的新手。我使用的是1.8.1版本。我已经考虑解决这个问题,因为我有类似的要求 我在做这样的事情: page.onInitialized = function () { page.evaluate(function () { (function () { window.navigator.plugins = { 'length': 1, 'Shockwave Flash': {

我是幻影的新手。我使用的是1.8.1版本。我已经考虑解决这个问题,因为我有类似的要求

我在做这样的事情:

page.onInitialized = function () {
    page.evaluate(function () {
        (function () {
            window.navigator.plugins = {
                'length': 1, 
                'Shockwave Flash': {
                    'description':'fakeflash'
                }
            };
        })();
    });
};
当我执行console.log(window.navigator.plugins['Shockwave Flash'].说明)时

结果我没有定义


谁能告诉我我做错了什么吗?

替换整个
navigator
对象(您不能只修改某些属性)

var page=require('webpage').create();
page.onConsolleMessage=函数(msg){
控制台日志(msg);
};
page.onInitialized=函数(){
第页。评估(函数(){
window.navigator={
插件:{
长度:1,
“冲击波闪光”:{
描述:'fakeflash'
}
}
};
});
};
page.content='Hello';
第页。评估(函数(){
log(window.navigator.plugins['Shockwave Flash'].description);
});
phantom.exit();

您是否使用--load plugins=yes选项启用插件加载?谢谢您的回复。此版本中不支持flash插件。。它已从版本1.5中断。有一个支持flash的正常运行的phantomJS 1.10版本:
var page = require('webpage').create();

page.onConsoleMessage = function (msg) {
    console.log(msg);
};

page.onInitialized = function () {
    page.evaluate(function () {
        window.navigator = {
            plugins: {
                length: 1,
                'Shockwave Flash': {
                    description: 'fakeflash'
                }
            }
        };
    });
};

page.content = '<html><body>Hello</body></html>';
page.evaluate(function () {
    console.log(window.navigator.plugins['Shockwave Flash'].description);
});

phantom.exit();