我在创建的 while 循环中遇到了程序流程问题。
while (reader.Read())
{
// Store scenario information
int Id = (int)reader["ScenarioID"];
string Data = reader["ScenarioData"].ToString();
string Url = "http://google.com";
// Initialize result information
int HasSucceeded = 0;
var screenshot = new Byte[] { };
// Navigate to webBrowser
webBrowser2.Navigate(Url);
webBrowser2.DocumentCompleted += WebBrowserDocumentCompleted;
// Do test
TestScenarios(Url, HasSucceeded);
// Take screenshot
TakeScreenshot(screenshot);
// Insert results
InsertResults(Id, HasSucceeded, screenshot);
// Mark scenario for deletion
MarkScenario(Id);
}
private void WebBrowserDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs Url)
{
MessageBox.Show("Operation has completed!");
}
程序的预期流程应该是
- 读取表格中的项目
- 初始化一些变量/存储一些值
- 导航 webBrowser 控件到 URL
- 当 webBrowser 控件完成后,做一个测试
- 截图
- 将结果插入新表
- 将原表中的项目标记为删除
- 循环回到#1,直到所有项目都被覆盖。
但是,正在发生的事情是 while 循环中的所有内容都按顺序正常运行,但该行除外,该webBrowser2.Navigate
行在退出 while 循环之前不会显示 Url。在 URL 显示后,立即出现 5 条连续消息“操作已完成”(针对表中的 5 项)。如何修复我的流量?