0

「tb」と呼ばれる DIV 要素に読み込まれる不要な広告バナーを避けながら、WebBrowser コントロールを介して特定のページを読み込もうとしています。

これどうやってするの?私はいくつかのグーグルを行って、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 に答える