2017-08-25 3 views
0

だから私はこのようになりますHTMLの一部を持っているとHTMLでのJSのグローバル変数の値にアクセスします。どうすればいい?これまでのところ私は、私はこのように構成されているだろう知っている:はPhantomJS

var webPage = require('webpage'); 
var page = webPage.create(); 
page.open(MY_URL, function(status) { 
    var foo = page.evaluate(function(){ 
    //gets javascript from the HTML in the response 
    // and extracts foo from there 
    }); 
}); 

console.log(someVar); 
phantom.exit(); 

答えて

0

あなたはちょうど私がすることができるはず

var foo = page.evaluate(function() { 
    return window.foo 
}) 
console.log('foo =', foo) 
+0

を使用することができる必要がありそうです。しかし、1つの問題があります。 'window.foo'を実行することはできますが、' console.log(Object.keys(foo)); 'と入力すると 'bar'が出てきても' foo.bar'配列にアクセスすることはできません。 – TheLegendOfCode

+0

@TheLegendOfCodeその場合、上の例は悪い例です – Phil

+0

'return window.foo'を' JSON.stringify(window.foo)を返すように '変更し、 'foo.bar'が完全に空であると言います。しかし、URLをgoogleに投げてコンソールにfoo.barを表示すると、フルになってしまいました。 – TheLegendOfCode