判断webbrowser浏览器是否加载完毕

判断webbrowser浏览器是否加载完毕,我是用DocumentCompleted事件来判断网页加载完成的,但是在执行循环的时候有时貌似无法真正判断加载结束,我一步一步调试执行不会报错,但是在正式运行就会出现无法读取元素的问题

   while(true)  ///最外层循坏,一直执行
            {
                          for (int vi = 0; vi < visitlist.Rows.Count; vi++)
               {
                             WBwinform.Navigate("https://www.baidu.com/");
                loading = true;
                while (loading)
                 {
                    Application.DoEvents();//等待本次加载完毕才执行下次循环.
                 }
                    //设置要搜索的关键词
                    string huashanlin_keys = visitlist.Rows[vi]["KeyWord"].ToString();

                //模拟人工查看或输入关键词等行为需要的3秒

               // Thread.Sleep(3000);

                //找到页面中输入关键字的input标签
                HtmlElement key0s = WBwinform.Document.All["kw"];

                //为input标签输入value值
                key0s.SetAttribute("value", huashanlin_keys);

                //找到页面中button或者submit按钮
                HtmlElement hit = WBwinform.Document.All["su"];

                //触发搜索按钮的click事件
                hit.In

因为现在有了ajax异步加载,所以对于什么算网页加载完毕的定义已经模糊了。比如说一个在线聊天程序,可以认为它永远加载不完。
所以你能做的,是去判断你需要的标签是否存在,是否有你需要的数据作为加载完毕的标志。