0

ハイ、

私は webbrowser コントロールを使用してページのコンテンツを取得し、それをプログラム (C#) で使用しています。

WebBrowser が表示されると (this.webBrowser1.Visible = true;)、プログラムは正常に実行されますが、値を false に設定すると (this.webBrowser1.Visible = false;)、この部分でエラーが発生します。コード:

HtmlWindow SContentFrame = webBrowser1.Document.Window.Frames[1];
HtmlWindow Frame_A = SContentFrame.Document.Window.Frames[2];
HtmlElementCollection bigFontTags = Frame_A.Document.GetElementsByTagName("b");

Webブラウザなどを選択する必要がありますか??? または別の問題がありますか?Webブラウザーコントローラーが表示されている場合、このコードは機能しますが、Webブラウザーを非表示にするとまったく機能しません...

どんな考えでもいただければ幸いです....

TWラップ

4

2 に答える 2

3

あなたはこれに間違った方法でアプローチしているように聞こえます。

Webブラウザはこのように使用することを意図したものではありません。たとえば、WebClientを使用してバックグラウンドでWebページのコンテンツをダウンロードしてみませんか?これは、WebBrowserよりもはるかに低いオーバーヘッドです。

HTML Agility Packは、スクレイピングタイプのアプリケーションで作業している場合に非常に便利です。

于 2012-07-16T10:08:54.320 に答える
2

簡単なトリックは、フォームのブラウザオフセットを非表示にすることです。したがって、フォームの幅がたとえば300ピクセルの場合、ブラウザの左側を350に配置します。

于 2012-07-16T10:07:56.143 に答える