簡體   English   中英

將頁面加載到WebBrowser控件,同時按ID跳過HTML元素?

[英]Loading page to WebBrowser control while skipping HTML elements by ID?

我正在嘗試通過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'的定義,也找不到擴展方法'getElementById'接受類型為'mshtml.HTMLDocumentClass'的第一個參數(您是否缺少using指令或程序集引用?)

和:

互操作類型'mshtml.HTMLDocumentClass'無法嵌入。 請改用適用的界面。

您可以使用:

IHTMLDocument3 htmldoc = wbCtrl.Document.DomDocument as IHTMLDocument3;
IHTMLDOMNode node = htmldoc.getElementById("xBar") as IHTMLDOMNode;
node.parentNode.removeChild(node);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM