0
JS全局变量的值,所以我有一段HTML的,看起来是这样的:在访问HTML与PhantomJS
<html>
<body>
<script>
var foo = {
bar: []
};
</script>
</body>
</html>
,我试图用PhantomJS提取foo.bar的价值。我将如何做到这一点?到目前为止,我知道我会的结构是这样的:
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();
我应该可以。但是,有一个问题。虽然我可以运行'window.foo',但是当我键入'console.log(Object.keys(foo));'时,即使'bar'出现,我也无法访问'foo.bar'数组。 – TheLegendOfCode
@TheLegendOfCode在这种情况下,上面的例子看起来很糟糕 – Phil
我将'return window.foo'改为'return JSON.stringify(window.foo)',它表示'foo.bar'完全为空。但是,当我将URL投入谷歌并在控制台中打印foo.bar时,它已满。 – TheLegendOfCode