0
我使用WebBrowser-Control模擬登錄,然後從HTNML Source的頁面讀取數據。WebBrowser-Control Navigate() - 錯誤
如果我和兩個按鈕和2個單次點擊做到這一點,它完美的作品:
private void btnTest_Click(object sender, EventArgs e)
{
Login();
}
private void btnTest2_Click(object sender, EventArgs e)
{
ReadData();
}
private static void Login()
{
browser.Navigate("www.site.de");
while (browser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
richLog.Text += "Warten...";
Thread.Sleep(1000);
}
browser.Document.GetElementById("login_username").SetAttribute("value", username);
browser.Document.GetElementById("login_password").SetAttribute("value", password);
browser.Document.GetElementById("login_submit_6b86b171").InvokeMember("click");
while (browser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
richLog.Text += Environment.NewLine + "Warten...";
Thread.Sleep(10000);
}
}
private static void ReadData()
{
browser.Navigate("www.site.de/data");
while (browser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
richLog.Text += Environment.NewLine + "Warten...";
Thread.Sleep(1000);
}
richText.Text = browser.DocumentText;
richLog.Text += Environment.NewLine + "Posts ausgelesen - Seite " + site;
}
如果我有一個按鈕來完成它,它失敗。打開的網站是NOT LOGGED-Status中的網站。我嘗試添加10秒或更長時間的Thread.Sleep(),但響應是相同的。
private void btnTest_Click(object sender, EventArgs e)
{
Login();
ReadData();
}
有什麼區別?怎麼解決?