如何保存与帧/ I帧完整的HTML页面包括在内?(How to save complete html

2019-10-21 20:54发布

在网页抓取我想当前页面的HTML保存,以便以后的调试文件。 browser.html有助于在大多数情况下,但是当页面包含的iframe /帧,它的内容不会返回browser.html ,我要的东西,如分别得到它browser.iframe.html还有一些情况下,当一个iframe中是另一个iframe中。 我可以递归找到每一帧,并保存其内容,但分离文件将不会是非常有用的,因为我不知道该页面的确切结构。

例如,我有以下页面:

<!DOCTYPE html>
<html>
<head>
</head>
  <frameset cols="50%,20%,30%">
     <frame name="left" src="/html/left_frame.htm" />
     <frame name="right" src="/html/right_frame.htm" />
     <noframes>
       <body>
          Your browser does not support frames.
       </body>
     </noframes>
     <frame src="http://example.com"/>
  </frameset>
</html>

我要救它使用的Watir到文件。 有任何想法吗?

Answer 1:

框架的作用非常像一个完全独立的网页,虽然可以看到内容,因为它出现在再现的文档和DOM中,帧的内容不是技术上的HTML页面的一部分。 你可以在浏览器中看到这一点,右键单击主文档和查看HTML,然后比较一下你右键点击的内容,是在一个框架和查看HTML。

要编写所有的HTML出来的文件,你可能会需要做的是递归写出HTML框架中,寻找其他帧,并调用同样的方法对发现里面的任何帧的方法。

Alternativly也许看着像引入nokogiri宝石,旨在解析HTML,它可能有这样的事情怎么做你想要什么更好的方法,或现有的例子



文章来源: How to save complete html page with frames/iframes included?