gpt4 book ai didi

javascript - 如何在 PhantomJS 中使用 iframe 获取完整解释的 html 源代码

转载 作者:搜寻专家 更新时间:2023-10-31 22:43:11 25 4
gpt4 key购买 nike

使用 PhantomJS,我想像 Firebug 一样打印网页的 html 源代码。用 iframe 解释。

var page = require('webpage').create();

page.open('http://google.com', function () {
console.log(page.content);
phantom.exit();
});

这似乎只显示了没有 iframe html 的解释 HTML。使用评估也无济于事,因为我的 iframe 在另一个域中,所以我认为 javascript 无法访问它们。

最佳答案

我发现通过框架获取内容不起作用,因为 phantomjs 中的 page.framesCount 只计算子框架而不计算主框架。这是显示所有框架的 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 < frameCount; ++i) {
page.switchToFrame(i)
html += page.frameContent + '\n\n'
}

最后一件重要的事情,如果您不想要源代码但想要访问 iframe DOM,即使它在另一个域中,也可以这样做:

phantomjs --web-security=no

访问iframe主体的代码是:

var i = document.getElementsByTagName('iframe')
var body = i[0].contentWindow.document.body

关于javascript - 如何在 PhantomJS 中使用 iframe 获取完整解释的 html 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28484622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com