2012-06-28 146 views
0

我做了一個登錄按鈕,並要檢查,如果用戶登錄或沒有。我通過兩種方式來做到這一點。獲取當前的web瀏覽器的URL或web瀏覽器的內容

  1. 檢查的web瀏覽器的URL是一個URL相等(如果用戶成功登錄的網址是URL1,如果沒有該URL URL2)
  2. 檢查當前的web瀏覽器的內容所包含的單詞(例如,如果用戶登錄成功,然後在重定向的頁面都應該有「謝謝」的字樣)

我想提一提,所有的工作我唯一的問題是,以檢查他是否登錄或不

public void Login() 
{ 
    webBrowser1.Document.GetElementById("username").SetAttribute("value", txtUsername.Text); 
    webBrowser1.Document.GetElementById("password").SetAttribute("value", txtPassword.Text); 
    foreach (HtmlElement item in webBrowser1.Document.GetElementsByTagName("input")) 
    { 
     if (item.OuterHtml.Contains("input_submit")) 
     { 
      item.InvokeMember("Click"); 
      break; // Here the webbrowser redirect right? 
     } 
    } 
    if (webBrowser1.Document.Body.InnerText.Contains("Thank you")) 
     con = true; 
    else 
     con = false; 
} 

回答

1

我建議你使用的HttpRequest效仿登錄進度,使用的HttpResponse獲得網絡服務器的響應和內容,並使用全球的CookieContainer存儲的cookie。

當你登錄成功的消息,您可以使用其他的HttpRequest與globval的CookieContainer得到你想要下載或訪問任何網頁。

我希望這可以幫助你。

您可以使用Httpwatch(www.httpwatch.com)觀看Internet Explorer與WebServer交換數據的方式。您也可以使用IE9 devloper工具來執行此操作(在IE9中按F12)。