我在使用 WebBrowser DocumentCompleted 事件时遇到了一点问题。我有这个代码:
int timesToRun = 20;
private void Time_Tick(object sender, EventArgs e)
{
if (timesToRun >= siteList.SiteLists.Count)
{
timesToRun = 0;
webBrowser1.DocumentCompleted -= this.webBrowser1_DocumentCompleted;
Console.WriteLine("timer is done");
timer.Stop();
}
timer.Enabled = false;
Console.WriteLine("timer is now disabled");
Console.WriteLine(timesToRun);
string currentSite = siteList.GetSiteFromIndex(timesToRun);
webBrowser1.Navigate(currentSite);
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser wb = (WebBrowser)sender;
if (e.Url.AbsolutePath != wb.Url.AbsolutePath) //somtimes dosn't return true
{
Console.WriteLine(wb.Url);
forumAction.FillOutFormIn(wb.Document);
timesToRun++;
Console.WriteLine("timer is now enabled");
timer.Enabled = true;
}
}
我的问题是if 语句仅在某些时候为真。我不确定我还能检查什么以确保浏览器已准备好使用。
我还能检查什么?还是我应该对这个问题采取不同的方法?
我从stackOverFlow中的一个不同问题中得到了这个if语句,因为我发现了一个问题,即事件被触发的次数更多(因为iframe和其他东西)。
(对不起我的英语不好)