请问怎么让webBrowser完全加载完毕后,再执行程序?
webbrowser打开一个网址,然后再检索里面的HTML,
webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
它什么会执行两次呢? 第一次检索结果不满意,网页里有JS得完全让页面加载完毕,第二次才能得到想要的结果~~
请问怎么让webBrowser完全加载完毕后,再执行程序呢?
------解决方案--------------------
webBrowser——DocumentCompleted就是有多少个调用JS或页面他就执行多少次。你要想调一次的就用
axWebBrowser用另一种Active控件才有这个调用当前页所调用的页面与JS加载完后执行,去codeproject找这个程序上面有列子
------解决方案--------------------WebBrowser载入一个页面后DocumentCompleted事件会执行两次,但这两次的ReadyState状态不一样,分别是Intercative和Complete。而MSDN对这两种状态值的解释是:Complete该控件已完成新文档及其所有内容的加载;Interactive该控件已经加载足够的文档以允许有限的用户交互,比如单击已显示的超链接。由此可见,实际上DocumentCompleted事件会在Interactive状态和Complete状态各调用一次,那么我们可以根据我们的需要来判断到底需要那一次
下面文章中介绍了详细的解决方案:
http://www.cnblogs.com/rchlz/archive/2009/02/27/1399274.html
并不需要使用Active控件,
------解决方案--------------------
Sleep是让当前的线程睡眠。线程停了当然在此线程内的方法全停了呀