WatiN和IE评论

时间:2012-09-10 12:37:37

标签: .net internet-explorer watin

有没有办法通过WatiN获取页面源和IE评论? WatiN暴露了DocumentElement.outerHTML,但它包含一个没有注释的文档。

编辑当我们通过IE中的View Source查看IE评论时,我们会看到类似的内容:

<!--[if IE]>
<p>Welcome to Internet Explorer.</p>
<![endif]-->

但是当我们通过文档对象查看实际呈现的HTML时,我们只看到:

<p>Welcome to Internet Explorer.</p>

即。 IE注释不包含在渲染文档中,但通常的HTML注释是。

1 个答案:

答案 0 :(得分:1)

将其添加到代码顶部:

using SHDocVw;

并使用它来获取实际的HTML内容

InternetExplorer internetExplorer = (InternetExplorer)browser.InternetExplorer;
string htmlContent = internetExplorer.Document.documentElement.OuterHTML;
祝你好运。

修改 我似乎误解了你的想法。编辑帖子后,我尝试了一些东西。在Opera和Chrome中打开了一个包含<!--[if IE]-->的网站,然后在控制台中运行此命令:document.head.innerHTML。两个浏览器都给出了[if IE]的输出,但是当在IE中尝试它时,似乎在页面呈现后,IE将删除所有这些。

必须有一些方法可以实现这一目标,但如果没有使用System.Net或其他内容下载整个页面然后阅读其内容,我找不到解决方案。

编辑2: 我找到了另一种方法,但不确定你是否喜欢这个解决方案。看看这段代码:http://pastebin.com/4EvLSuEL

进行ajax调用以加载页面内容,然后将结果粘贴到隐藏的textarea中。之后,通过使用WatiN的ElementWithTag,我们将textarea值转换为字符串myContent

希望它对你有所帮助,这是我能做到的最好。