通过一堆页面迭代,webbrowser控件

时间:2009-07-23 23:00:16

标签: c# webbrowser-control

我有一个url列表,我需要解析和转储数据。页面需要ajax,我需要DOM(而不是html)正确解析。所以我使用webbrowser控件。我如何通过列表迭代并解析每个页面?我在写

    for(int i=0; i<pageList.Count; i++)
    {
        webBrowser1.Navigate(pageList[i]);
        //but i need to wait until the page is done loading
        //wait for the AJAX to finish
        //allow the JS to run
        parsePage();
    }

2 个答案:

答案 0 :(得分:1)

你设计它的方式不会很好。您应该订阅Web浏览器的DocumentCompleted事件,以了解文档何时完全加载。但是,只是快速连续调用Navigate将无法正常工作。您必须导航到pageList中的第一个,然后从文档完成中的调用中解析它,然后导航到下一页。

答案 1 :(得分:0)

您是否看过Html Agility Pack?这允许您使用XPATH语句读/写DOM。

以下是Codeplex上项目的网址。