1

有什么方法可以通过 WatiN 获取页面源以及 IE 评论?WatiN 公开 DocumentElement.outerHTML 但它包含一个没有注释的文档。

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

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

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

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

即,IE 注释不包含在呈现的文档中,但通常的 HTML 注释包含。

4

1 回答 1

1

将此添加到您的代码顶部:

using SHDocVw;

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

InternetExplorer internetExplorer = (InternetExplorer)browser.InternetExplorer;
string htmlContent = internetExplorer.Document.documentElement.OuterHTML;

祝你好运。

编辑: 看来我误解了你想要什么。在你编辑你的帖子后,我尝试了一些东西。在 Opera 和 Chrome 中打开一个网站,其中包括<!--[if IE]-->,然后在控制台中运行此命令:document.head.innerHTML. 两种浏览器都使用[if IE].

System.Net必须有某种方法来实现这一点,但如果不下载整个页面或其他内容然后阅读其内容,我就找不到解决方案。

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

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

希望对你有帮助,这是我最擅长的。

于 2012-09-10T17:47:34.300 回答