作者:George_唐晓龙 | 来源:互联网 | 2023-05-22 11:35
使用PhantomJS,我想打印像Firebug那样的网页的html源代码.用iframe解释.
var page = require('webpage').create();
page.open('http://google.com', function () {
console.log(page.content);
phantom.exit();
});
这似乎只显示没有iframes html的解释HTML.并且使用评估无法帮助,因为我的iframe在另一个域中,所以我认为Javascript无法访问它们.
1> kaes..:
我发现通过帧来获取内容不起作用,因为page.framesCount
在phantomjs中只计算子帧而不是主帧.以下是显示所有帧的HTML的工作代码:
// Apparently framesCount doesn't include the main frame so add 1
var frameCount = page.framesCount + 1
var html = page.frameContent + '\n\n'
for (var i = 1; i
最后一件重要的事情,如果您不想要源但是想要访问iframe DOM,即使它在另一个域中也是如此:
phantomjs --web-security=no
访问iframe正文的代码是:
var i = document.getElementsByTagName('iframe')
var body = i[0].contentWindow.document.body