0

私はMVCプロジェクトに取り組んでいます。ここでは、他のサイトの要素を取得しようとしています。要素を取得するには、WebBrowserClass オブジェクトを使用しています。構文は次のようになります。

var a = wb.Document.GetElementById("_menu__tableMenu").GetElementsByTagName("a");<br>
HtmlElement x = a[2];


wb はWebBrowserクラスのインスタンスです このコードは、私の開発マシンと会社のネットワークで完全に機能します (ステージング サーバーの 1 つでホストされている場合)。しかし、クライアントのホスティング サーバーでホストしようとすると、「オブジェクト参照が設定されていませんインスタンス」の問題。

HtmlElement x = a[2];エラーをログに記録した後、配列 a にアイテムがないため、このエラーが発生したことがわかりました 。しかし、私が探しているすべての要素が存在するのに、なぜこのように機能しているのか理解できません。

同期の問題である可能性があると思います

4

1 に答える 1

0

いくつかの考え:

html アジリティ パックを試してみてください: http://htmlagilitypack.codeplex.com/さまざまな状況で DOM をより適切に処理できると思います。

wb.Document.GetElementById(" menu _tableMenu") は何かを返しますか、それとも null ですか?

Web リクエストを行うコードを表示していただけますか?

于 2012-07-18T18:34:54.850 に答える