好的,我一整天都在寻找这个问题。我有一个循环,我在其中加载网页并解析它们。
问题是Application.DoEvents和while循环重置每个变量和计数器 Thread.Sleep()会影响加载网页的线程 AutoResetEvent.WaitOne也是如此
这是我的代码
private void button1_Click_1(object sender, EventArgs e)
{
//some code...
for (int i = 1; i < div.Children.Count; i++)
{
webview.Navigate(addr);
//wait until page is loaded
html_code.Text += "OK!"; //do further actions
}
}
您注意到我有一个for
周期,因此上面列出的所有方法都不起作用。我请你帮我解决我的问题
更新:我找到了解决方案。这里描述了https://stackoverflow.com/a/4271581/1894634
答案 0 :(得分:2)
如果您只需要html回复,最好使用WebClient.DownloadString
或WebClient.DownloadStringAsync
方法
WebClient client = new WebClient ();
//client.Credentials = new NetworkCredential(username, password);
string html_code = client.DownloadString (addr);