1

mshtml を使用して WPF WebBrowser ページを埋めようとしています。しかし、htmlからボタンのIDを見つけることができません。どうすればIDを見つけることができますか? または、フォームを送信するための代替手段はありますか?

コード:

mshtml.HTMLDocument doc = (mshtml.HTMLDocument)browser.Document;

try
{     
    ((mshtml.HTMLInputElement)doc.all.item("?????")).click();
}

Html ページ (Continue はボタンのテキストです):

<li><a href="/uas/oauth/authenticate?oauth_token=3c708034-081f-4aca-b61c-f6518a1e0f8c&amp;trk=uas-continue" class="btn-primary">Continue</a></li>
4

1 に答える 1

1

WebBrowserコントロールはのコントロールとWPFは異なりWinFormます。

System.Windows.Controls.WebBrowser コントロールには、ホストされた HTML ページを表す Document オブジェクトを取得する Document プロパティがあります。

この Document オブジェクトを COM インターフェイスにキャストしてからIHTMLDocument2、ドキュメントの all プロパティにアクセスして、HTML ドキュメントの各要素を取得する必要があります。

mshtml.IHTMLDocument2 doc = webBrowser.Document as mshtml.IHTMLDocument2;
doc.all.item("link")).click();

MSDN の記事を参照してください: HTML 要素イベントの処理

同様の投稿はこちら: Accessing DOM from WebBrowser

于 2013-05-03T19:47:09.610 に答える