0

我试图通过 WebBrowser 控件加载某个页面,同时避免在名为“tb”的 DIV 元素中加载不必要的广告横幅。

我怎样才能做到这一点?我做了一些谷歌搜索并找到了一个使用 mshtml 参考的示例,但我无法从这个示例中使其工作:https ://stackoverflow.com/a/1218875

有任何想法吗?

为什么这行不通?

using System;
using mshtml;
using System.Windows.Forms;

namespace Client
{
    public partial class Client : Form
    {
        public Client()
        {
            InitializeComponent();

            HTMLDocumentClass htmldoc = wbBrowser.Document.DomDocument as HTMLDocumentClass;
            IHTMLDOMNode node = htmldoc.getElementById("tb") as IHTMLDOMNode;
            node.parentNode.removeChild(node);
        }
    }
}

我收到一个错误:

“mshtml.HTMLDocumentClass”不包含“getElementById”的定义,并且找不到接受“mshtml.HTMLDocumentClass”类型的第一个参数的扩展方法“getElementById”(您是否缺少 using 指令或程序集引用?)

和:

无法嵌入互操作类型“mshtml.HTMLDocumentClass”。请改用适用的接口。

4

1 回答 1

0

您可以使用以下方法执行此操作:

IHTMLDocument3 htmldoc = wbCtrl.Document.DomDocument as IHTMLDocument3;
IHTMLDOMNode node = htmldoc.getElementById("xBar") as IHTMLDOMNode;
node.parentNode.removeChild(node);
于 2012-06-01T08:06:05.623 回答