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ステートメントを取得しました。これは、イベントが1回以上発生したという問題を抱えていたためです(iframeなどのため)。
(私の英語でごめんなさい)