从Android WebView获取iframe数据

时间:2015-12-07 20:15:57

标签: javascript android html webview jsoup

我有一个包含iframe的网页:

<div id="confIMG" style="display:block;">
   <iframe id="ifrmy" src="http://www.example.com" style="margin:0;padding:0;border:0;overflow:hidden;height:200px;width:90%;'" scrolling="no">
   </iframe>
   #document
   <!DOCTYPE html>
   <html>
      <head>....</head>
      <body>....</body>
   </html>
</div>

获取所有html源代码,我使用了这个javascript:

javascript:HTMLOUT.processHTML(document.documentElement.outerHTML);

但是,当调用侦听器时,我只看到:

<div id="confIMG" style="display:block;">
   <iframe id="ifrmy" src="http://www.example.com" style="margin:0;padding:0;border:0;overflow:hidden;height:200px;width:90%;'" scrolling="no">
   </iframe>
</div>

问题是错过了所有iframe文档。我怎么能得到它们呢?

我也尝试使用JSOUP获取页面。在那种情况下,我只会得到:

<div id="confIMG" style="display:block;"></div>

PS:我试图使用Chrome浏览器进行检查。当我将developer options / developers tools用于标签elements时,我只能看到源代码。

1 个答案:

答案 0 :(得分:0)

如果你没有要求,那么JSoup不会自动获取iframe内容。

首次加载页面时,找到iframe,然后使用Jsoup获取它。

Document doc=...
Element ifrmy = doc.select("#ifrmy").first();

if (ifrmy!=null) {
   Document iframeContent = Jsoup.connect(ifrmy.attr("src")).get();
   // ...
}