2012-06-28 147 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)。