在网页抓取期间,我想将当前页面的 html 保存到文件中以供以后调试。browser.html
在大多数情况下有帮助,但是当页面包含 iframe/frame 时,它的内容不会返回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 将其保存到文件中。有任何想法吗?
框架的作用很像一个完全独立的网页,虽然您可以看到呈现在渲染文档和 dom 中的内容,但框架的内容在技术上并不是页面 html 的一部分。您可以在浏览器中看到这一点,右键单击主文档并查看 html,然后将其与右键单击框架中的内容并查看 html 所得到的内容进行比较。
要将所有 html 写入文件,您可能需要创建一个方法来写出框架的 html,查找其他框架,并对内部找到的任何框架递归调用相同的方法。
或者,也许看看像 nokogiri 这样的 gem,它被设计用来解析 html,它可能有更好的方法来处理这类事情,或者现有的例子来说明如何做你想做的事情
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)