webbrower判断页面是否加载完成的好方法
1 public void WaitPageCompleted(int timeOutSec) 2 { 3 int cnt = 0; 4 for (int j = 0; j < timeOutSec * 5; j++) 5 { 6 _wb.Invoke(new Action(() => 7 { 8 if (_wb.ReadyState == WebBrowserReadyState.Complete && _wb.IsBusy == false) 9 { 10 cnt++; 11 } 12 else 13 cnt = 0; 14 })); 15 if (cnt >= 5) break; 16 System.Threading.Thread.Sleep(200); 17 } 18 }
一段时间内对ReadyState和IsBusy的判断都成立则该页面已完成加载动作
此方法屡试不爽,非常准确