0

解析したいテーブルを含むページを取得するために、ページに対して HttpWebRequest を作成しましたが、問題は、テーブルにアクセスする前に実行する必要がある JavaScript がいくつかあることです。だから今、私はWebBrowserコントロールを持ち、ページをWebブラウザにロードさせてから、そのhtmlコンテンツを読み取って解析したいと考えています! どうすればこれを行うことができますか?

また、WebBrowser コントロールでページを読み込むと、javascript エラーが発生し、これらのエラーをすべて渡すと、ページ全体が読み込まれます。これらのエラーを回避する方法はありますか?

ありがとうございました

4

1 に答える 1

0

true に設定できScriptErrorsSuppressedます。これにより、WebBrowser コントロールによって表示されるすべてのダイアログが抑制されます。エラーを選択的に無視したい場合はWindow.Error、ドキュメントのイベントを購読する必要があります。詳細については、MSDN ページを確認してください

または、 Html Agility Packを使用できます。その場合、WebBrowser コントロールをまったく使用する必要はありません。

例:

    HtmlDocument htmlDocument = null;
    HtmlWeb htmlWeb = new HtmlWeb();
    htmlWeb.PreHandleDocument = new HtmlWeb.PreHandleDocumentHandler((document) => htmlDocument = document );
    htmlWeb.Load(url, "GET");

    foreach (HtmlNode item in htmlDocument.DocumentNode)
    {
        // find your table node
    }
于 2012-07-17T09:35:37.777 に答える