Web 浏览器控制和导航帮助
本文关键字:导航 帮助 控制 浏览器 Web | 更新日期: 2023-09-27 18:07:05
我可以将链接加载到webBrowser1.通过添加按钮手动导航。但是,在循环从列表框中处理时,我无法让它工作。是否有应该添加的响应或等待功能?现在我听到的只是咔哒声,浏览器控制窗口中没有任何反应。
private void start_btn_Click(object sender, EventArgs e)
{
if (listId.Items.Count != 0 && listCell.Items.Count != 0)
{
for (int a = 0; a < listId.Items.Count; a++)
{
for (int b = 0; b < listCell.Items.Count; b++)
{
MakeReq(txtWebUpdate.Text + listId.Items[a].ToString() +
"&admire=1", listCell.Items[b].ToString());
}
}
}
}
void MakeReq(string Url, string Cell)
{
try
{
txtSetUpdate.Text = (Cell);
webBrowser1.Navigate(new Uri(Url));
}
catch (System.UriFormatException)
{
return;
}
}
这是我
最终使用的代码。
void WaitBrowserLoading()
{
while (webBrowser1.IsBusy)
Application.DoEvents();
for (int i = 0; i < 500; i++)
if (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
System.Threading.Thread.Sleep(10);
}
else
break;
Application.DoEvents();
}
你的目标是什么?
在这里,您只需调用 Navigate
它只是启动导航。它不在乎启动该过程后会发生什么。因此,在您的代码中,循环会连续启动几个Navigate
,如果已完成,则每个都会取消前一个。因此,您实际看到的唯一完整的将是列表中的最后一个。