我有一个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();
}
答案 0 :(得分:1)
你设计它的方式不会很好。您应该订阅Web浏览器的DocumentCompleted事件,以了解文档何时完全加载。但是,只是快速连续调用Navigate将无法正常工作。您必须导航到pageList中的第一个,然后从文档完成中的调用中解析它,然后导航到下一页。
答案 1 :(得分:0)
您是否看过Html Agility Pack?这允许您使用XPATH语句读/写DOM。
以下是Codeplex上项目的网址。